[Python-checkins] CVS: distutils/distutils/command build.py,1.28,1.29

Greg Ward python-dev@python.org
Sat, 30 Sep 2000 10:08:18 -0700


Update of /cvsroot/python/distutils/distutils/command
In directory slayer.i.sourceforge.net:/tmp/cvs-serv7503

Modified Files:
	build.py 
Log Message:
Changed to use the 'sub-commands' machinery: 
  - added 'sub_commands' class attr
  - added 'has_*()' predicates referenced by the sub-command list
  - rewrote 'run()' so it's a trivial loop over relevant sub-commands

Index: build.py
===================================================================
RCS file: /cvsroot/python/distutils/distutils/command/build.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** build.py	2000/09/25 01:41:14	1.28
--- build.py	2000/09/30 17:08:12	1.29
***************
*** 98,122 ****
      def run (self):
  
!         # For now, "build" means "build_py" then "build_ext".  (Eventually
!         # it should also build documentation.)
  
-         # Invoke the 'build_py' command to "build" pure Python modules
-         # (ie. copy 'em into the build tree)
-         if self.distribution.has_pure_modules():
-             self.run_command ('build_py')
- 
-         # Build any standalone C libraries next -- they're most likely to
-         # be needed by extension modules, so obviously have to be done
-         # first!
-         if self.distribution.has_c_libraries():
-             self.run_command ('build_clib')
- 
-         # And now 'build_ext' -- compile extension modules and put them
-         # into the build tree
-         if self.distribution.has_ext_modules():
-             self.run_command ('build_ext')
  
!         if self.distribution.has_scripts():
!             self.run_command ('build_scripts')
  
  # class build
--- 98,130 ----
      def run (self):
  
!         # Run all relevant sub-commands.  This will be some subset of:
!         #  - build_py      - pure Python modules
!         #  - build_clib    - standalone C libraries
!         #  - build_ext     - Python extensions
!         #  - build_scripts - (Python) scripts
!         for cmd_name in self.get_sub_commands():
!             self.run_command(cmd_name)
  
  
!     # -- Predicates for the sub-command list ---------------------------
! 
!     def has_pure_modules (self):
!         return self.distribution.has_pure_modules()
! 
!     def has_c_libraries (self):
!         return self.distribution.has_c_libraries()
! 
!     def has_ext_modules (self):
!         return self.distribution.has_ext_modules()
! 
!     def has_scripts (self):
!         return self.distribution.has_scripts()
! 
! 
!     sub_commands = [('build_py',      has_pure_modules),
!                     ('build_clib',    has_c_libraries),
!                     ('build_ext',     has_ext_modules),
!                     ('build_scripts', has_scripts),
!                    ]
  
  # class build