Revision: 20
Author: roman_yakovenko
Date: 2006-04-29 22:22:50 -0700 (Sat, 29 Apr 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=20&view=rev
Log Message:
-----------
I keep my word :-). Removing release_builder.py file.
Removed Paths:
-------------
release_manager/release_builder.py
Deleted: release_manager/release_builder.py
===================================================================
--- release_manager/release_builder.py 2006-04-30 05:21:08 UTC (rev 19)
+++ release_manager/release_builder.py 2006-04-30 05:22:50 UTC (rev 20)
@@ -1,164 +0,0 @@
-# Copyright 2004 Roman Yakovenko.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import os
-import sys
-import shutil
-from sets import Set as set
-from file_system_iter import files_iterator, folders_iterator
-
-class release_builder_t( object ):
- def __init__( self ):
- object.__init__( self )
-
- #source code root directory
- self.scroot_dir, curr_dir = os.path.split( os.path.abspath( os.curdir ) )
- #This file should be run from release_manager directory
- if curr_dir != 'release_manager':
- raise RuntimeError( 'Current working directory should be release_manager' )
- #next release root dir
- self.nrroot_dir = os.path.join( self.scroot_dir, '__next_release__' )
-
- if not os.environ.has_key( 'PYTHONPATH' ):
- os.environ['PYTHONPATH'] = ''
- if sys.platform == 'win32':
- environment_var_delimiter = ';'
- else: # sys.platform == 'linux2'
- environment_var_delimiter = ':'
-
-
- self.packages = {}
- for pkg in ('pygccxml', 'pyplusplus'):
- package_path = os.path.join( self.nrroot_dir, pkg + self.get_version( pkg ) )
- self.packages[ pkg ] = package_path
- os.environ[ 'PYTHONPATH' ] = os.environ[ 'PYTHONPATH' ] \
- + environment_var_delimiter \
- + package_path
-
- def get_version( self, package_name ):
- init_file_path = os.path.join( self.scroot_dir, package_name, '__init__.py' )
- init_file = file( init_file_path )
- for line in init_file:
- if line.startswith( '__version__' ):
- version = line.split( '=' )[1]
- return version.strip().strip("'")
- raise RuntimeError( "Unable to find version for package %s!" % package_name )
-
-
- def log( self, message ):
- print '[release builder]', message
-
- #def run_unitests( self ):
- #self.log( 'running unittests' )
- #for package in self.__packages:
- #self.log( 'running unittests for package "%s"' % package.__name__ )
- #sys_snapshot = self.__take_sys_snapshot()
- #sys.path.append( os.path.join( package.__path__[0], 'unittests' ) )
- #test_all = __import__( 'test_all' )
- #was_successful = test_all.run_suite()
- #self.__restore_sys_snapshot( sys_snapshot )
- #if not was_successful:
- #raise RuntimeError( '%s unittest failed' % package.__name__)
- #self.log( 'running unittests - done' )
-
- def create_dist_packages( self ):
- self.log( 'creating next release directory "%s" ' % self.nrroot_dir )
- if os.path.exists( self.nrroot_dir ):
- shutil.rmtree( self.nrroot_dir )
- os.mkdir( self.nrroot_dir )
- map( os.mkdir, self.packages.values() )
-
- for pkg, pkg_nr_dir in self.packages.items():
- self.log( 'creating target directory for package "%s"' % pkg )
-
- shutil.copy( os.path.join( self.scroot_dir, 'release_manager', 'setup_%s.py' % pkg )
- , os.path.join( pkg_nr_dir, 'setup.py' ) )
-
- pkg_nr_sc_dir = os.path.join( pkg_nr_dir, pkg )
- shutil.copytree( os.path.join( self.scroot_dir, pkg ), pkg_nr_sc_dir )
-
- pkg_nr_docs_dir = os.path.join( pkg_nr_dir, 'docs' )
- shutil.copytree( os.path.join( self.scroot_dir, pkg, 'docs' ), pkg_nr_docs_dir )
-
- shutil.rmtree( os.path.join( pkg_nr_sc_dir, 'docs' ) )
-
- shutil.move( os.path.join( pkg_nr_sc_dir, 'unittests' )
- , os.path.join( pkg_nr_dir, 'unittests' ) )
- if pkg == 'pyplusplus':
- shutil.move( os.path.join( pkg_nr_sc_dir, 'examples' )
- , os.path.join( pkg_nr_dir, 'examples' ) )
- shutil.rmtree( os.path.join( pkg_nr_sc_dir, 'experimental' ) )
- shutil.rmtree( os.path.join( pkg_nr_docs_dir, 'ConferenceIsrael2006' ) )
- shutil.rmtree( os.path.join( pkg_nr_dir, 'examples', 'tnfox' ) )
-
- self.log( 'removing special directories')
-
- def generate_docs(self):
- self.log( 'generating documentation' )
-
- options = [ '--output="%(output)s"'
- , '--docformat=epytext'
- , '--url=http://www.language-binding.net'
- #, '--graph=all'
- , '--name=%(name)s'
- , '--verbose'
- , ' %(packages)s' ]
- cmd_line = "epydoc " + ' '.join( options )
- cmd = cmd_line % {
- 'output' : os.path.join( self.packages['pygccxml'], 'docs', 'apidocs' )
- , 'name' : 'pygccxml'
- , 'packages' : os.path.join( self.packages['pygccxml'], 'pygccxml' ) }
- self.log( 'running epydoc: ' + cmd )
- os.system( cmd )
-
- cmd = cmd_line % {
- 'output' : os.path.join( self.packages['pyplusplus'], 'docs', 'apidocs' )
- , 'name' : 'pyplusplus'
- , 'packages' : ' '.join( [ os.path.join( self.packages['pyplusplus'], 'pyplusplus' )
- , os.path.join( self.packages['pygccxml'], 'pygccxml' ) ] ) }
- self.log( 'running epydoc: ' + cmd )
- os.system(cmd)
-
- self.log( 'generating documentation - done' )
-
- def clean_directories(self):
- dir_names = [ 'cvs', 'temp', 'debug', 'release' ]
- file_exts = [
- '*.pyc', '*.so', '*.os', '*.cpp~', '*.hpp~', '*.dll', '*.obj', '*.a'
- , '*.def', '*.vsd', '*.sxd', '*.exp', '*.lib', '*.scons', '*.bak'
- , '*.pdb', '*.idb', '*.pdb', '*.dat', '*.ncb', '*.suo' ]
- files = [ '.sconsign', 'place_holder', 'www_configuration.py' ]
-
- self.log( 'creaning target directory' )
-
- self.log( 'removing special directories')
- tmp = []
- for dir_ in folders_iterator( self.nrroot_dir ):
- if os.path.split( dir_ )[1].lower() in dir_names:
- tmp.append( dir_ )
- tmp.sort()
- tmp.reverse()
- map( shutil.rmtree, tmp )
- self.log( 'removing special directories - done')
-
- self.log( 'removing special files')
- map( os.remove, files_iterator( self.nrroot_dir, file_exts ) )
-
- for file_ in files_iterator( self.nrroot_dir ):
- if os.path.split( file_ )[1] in files:
- os.remove( file_ )
- self.log( 'removing special files - done')
-
- self.log( 'creaning target directory - done' )
-
-
-if __name__ == "__main__":
- rb = release_builder_t()
- #srb.run_unitests()
- rb.create_dist_packages()
- rb.generate_docs()
- rb.clean_directories()
-
-
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|