Package mrv :: Module info
[hide private]
[frames] | no frames]

Source Code for Module mrv.info

  1  # -*- coding: utf-8 -*- 
  2  """ 
  3  Provide project related global information. 
  4   
  5  :note: Importing this module must not have any side effects ! 
  6  """ 
  7  import os 
  8   
  9  # GENERAL INFORMATION 
 10  ##################### 
 11  ## Version Info  
 12  # See http://docs.python.org/library/sys.html#sys.version_info for more information 
 13  #               major, minor, micro, releaselevel, serial 
 14  version = (1,     0,     2,     'develop',        0) 
 15   
 16  # The short name for your project, important for your documentation headline as  
 17  # well as for the name of your distribution archives and git heads. 
 18  project_name = "mrv" 
 19   
 20  # The name of your root package as used in import statements. Capitalization matters,  
 21  # usually all lower case letters 
 22  root_package = "mrv" 
 23   
 24  # The directory, relative to this file, containing all unit test. If it is not 
 25  # set, it will default to 'test' 
 26  test_root = 'test' 
 27   
 28  # The full name of the original author(s) 
 29  author = "Sebastian Thiel" 
 30   
 31  # The author's email address(es), must be set to something for the distribution to work. 
 32  author_email = 'byronimo@gmail.com' 
 33   
 34  # URL of the project's home page, or '' if there is None 
 35  url = "https://github.com/Byron/mrv" 
 36   
 37  # A short description of your project, usually not more than one line. 
 38  description ='Development Framework for Autodesk Maya' 
 39   
 40  # The name of the project's license 
 41  license = "BSD License" 
 42   
 43  # The sha belonging to the commit which created this release. 
 44  # Will only be set in actual release versions, and must never be set manually 
 45  src_commit_sha = '0'*40 
 46   
 47   
 48  # PATH INFORMATION 
 49  ################### 
 50  # The distribution system offers to run regression tests automatically. For that  
 51  # to work, it needs a hint to where to find the respective executables. 
 52  # These are assumed to be compatible to the ones provided by MRV in case  
 53  # you provide an own implementation. 
 54  regression_test_exec = 'mrv/test/bin/tmrvr' 
 55  nosetest_exec = 'mrv/test/bin/tmrv' 
 56  # makedoc is special in that it wants to be started from within the project's doc 
 57  # directory. The path given here is relative to it 
 58  makedoc_exec = 'makedoc' 
 59   
 60  # Import path to the DocGenerator derived type which is going to handle the doc  
 61  # generation. If unset in your info.py, this default will be used 
 62  docgen_class_path = "mrv.doc.base.DocGenerator" 
 63   
 64   
 65  # SETUP SCRIPT KWARGS 
 66  ##################### 
 67  # MRV's distribution system is based on distutils. The following dictionary will  
 68  # be passed to the setup routine of the distutils and applies additional configuration. 
 69  # Read more about the distutils: http://docs.python.org/distutils/ 
 70  __scripts_bin = ['mrv/bin/mrv', 'mrv/bin/imrv'] 
 71  __scripts_test_bin = ['mrv/test/bin/tmrv', 'mrv/test/bin/tmrvr'] 
 72  __scripts_test_bin_s = [ p.replace('mrv/test/', '') for p in __scripts_test_bin ] 
 73  __ld = """MRV is a multi-platform python development environment to ease rapid development  
 74  of maintainable, reliable and high-performance code to be used in and around Autodesk Maya.""" 
 75  __requires = [ 'nose', 'epydoc', 'sphinx', 'gitpython' ] 
 76  if os.name == 'posix': 
 77          __requires.append('ipython') 
 78  # END easy_install ipython on linux + osx 
 79   
 80  setup_kwargs = dict( 
 81                                          # scripts in the context of the distribution are executable python  
 82                                          # scripts that should wind up executable when installed. 
 83                                          # scripts = list('path', ...) 
 84                                          scripts=__scripts_bin + __scripts_test_bin, 
 85                                           
 86                                          # The long description is used on pypi I presume if the commandline  
 87                                          # based upload is used. For MRV the manual upload id preferred though 
 88                                          # As the distutils don't provide a way to safely store non-cleartext 
 89                                          # credentials for the login 
 90                                          # long_description = string 
 91                      long_description = __ld, 
 92                       
 93                      # Winds up as egg-info which informs easy-install which other packages 
 94                      # ought to be downloaded to make this project operational 
 95                      # requires = list(id, ...)  
 96                      requires=__requires, 
 97                       
 98                      # Each package to be build by build_py can be enriched with data files 
 99                      # which are copied into the build version of the respective package. 
100                      # MRV introduces the ability to specify directories and exclude patterns  
101                      # which are prefixed with an exclamation mark (!) 
102                      # package_data = dict( package_name : list('pattern', ...) ) 
103                      package_data = {   'mrv.test' : ['fixtures/ma/*', 'fixtures/maya_user_prefs/', 'maya/performance' ] + __scripts_test_bin_s,  
104                                                          'mrv' : __scripts_bin + ['!*.gitignore'], 
105                                                          'mrv.maya' : ['cache'], 
106                                                          'mrv.doc' : ['source', 'makedoc', '!*source/generated/*'] 
107                                                  }, 
108                                                   
109                      # Classifiers are used exclusively by the python package index 
110                      # and wind up in the package info/egg info. This is important 
111                      # for command-line upload only, Here it serves more as general  
112                      # information that is not strictly required in the distribution  
113                      # process 
114                      # classifiers = list(classifier, ...) 
115                      classifiers = [ 
116                          "Development Status :: 5 - Production/Stable", 
117                          "Intended Audience :: Developers", 
118                          "License :: OSI Approved :: BSD License", 
119                          "Operating System :: OS Independent", 
120                          "Programming Language :: Python", 
121                          "Programming Language :: Python :: 2.5", 
122                          "Programming Language :: Python :: 2.6", 
123                          "Topic :: Software Development :: Libraries :: Python Modules", 
124                          ],  
125                           
126                      # Options are a more interesting kwarg as it is itself a dict 
127                      # mapping option dicts to setup subcommand names. This allows  
128                      # to pass information directly to the specified subcommand, each  
129                      # of them supporting a unique set of options 
130                      # options = dict( subcommand = dict( option_name : option_value ) ) 
131                                          options = dict(build_py={       'exclude_from_compile' : (      '*/maya/undo.py',  
132                                                                                                                                                          '*/maya/nt/persistence.py',  
133                                                                                                                                                          'info.py'),  
134                                                                                                  'exclude_items' : ('mrv.conf', 'mrv.dg', 'mrv.batch', 'mrv.mdp',  
135                                                                                                                                          '.automation', '.qa', 
136                                                                                                                                          'mrv.test.test_conf', 'mrv.test.test_dg',  
137                                                                                                                                          'mrv.test.test_batch', 'mrv.test.test_mdp',  
138                                                                                                                                          'mrv.test.test_conf') },  
139                                                                          build_scripts={ 'exclude_scripts' : ['mrv/test/bin/tmrvr']})  
140                      ) 
141   
142   
143  # EPYDOC CONFIGURATION 
144  ###################### 
145  # These values help to dynamically generate the epydoc.cfg file which will be used  
146  # to configure the epydoc source documentaiton generator. 
147  doc_config = dict( 
148                                  epydoc_show_source = 'yes', 
149                                  epydoc_modules = "modules: unittest,../%s" % root_package, 
150                                  epydoc_exclude = "mrv.test,%s.cmd.ipythonstartup" % root_package, 
151                                  ) 
152