Update of /cvsroot/boost/boost/tools/regression/xsl_reports/runner
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21736

Modified Files:
      Tag: RC_1_34_0
        regression.py 
Log Message:
BoostBook build support

Index: regression.py
===================================================================
RCS file: 
/cvsroot/boost/boost/tools/regression/xsl_reports/runner/regression.py,v
retrieving revision 1.63.2.13
retrieving revision 1.63.2.14
diff -u -d -r1.63.2.13 -r1.63.2.14
--- regression.py       2 Feb 2007 06:45:52 -0000       1.63.2.13
+++ regression.py       11 Feb 2007 15:59:44 -0000      1.63.2.14
@@ -25,6 +25,7 @@
 regression_results = os.path.join( regression_root, 'results' )
 regression_log     = os.path.join( regression_results, 'bjam.log' )
 install_log        = os.path.join( regression_results, 'bjam_install.log' )
+boostbook_log      = os.path.join( regression_results, 'boostbook.log' )
 
 boost_root      = os.path.join( regression_root, 'boost' )
 xsl_reports_dir = os.path.join( boost_root, 'tools', 'regression', 
'xsl_reports' )
@@ -442,6 +443,7 @@
 def setup(
           comment
         , toolsets
+        , book
         , bjam_toolset
         , pjl_toolset
         , monitored
@@ -466,10 +468,9 @@
             download_if_needed( 'build_monitor.exe', build_monitor_url, proxy )
             download_if_needed( 'pskill.exe', pskill_url, proxy )
         else:
-            log( 'Warning: Test monitoring is not supported on this platform 
(yet).' )
+            log( 'Warning: Test monitoring is not supported on this platform 
(yet).'     )
             log( '         Please consider contributing this piece!' )
 
-
 def bjam_build_script_cmd( cmd ):
     env_setup_key = 'BJAM_ENVIRONMENT_SETUP'
     if os.environ.has_key( env_setup_key ):
@@ -602,6 +603,23 @@
         if monitored:
             stop_build_monitor()
 
+def build_book( **kargs ):
+    # To do
+    # 1. PDF generation
+    # 2. Do we need to cleanup before the build?
+    # 3. Incremental builds
+    if not os.path.exists( regression_results ):
+        os.makedirs( regression_results )
+    import_utils()
+    cwd = os.getcwd()
+    try:
+        os.chdir( 'boost/doc' )
+        if os.path.exists( boostbook_log ):
+            os.unlink( boostbook_log )
+        utils.system( [ '%s --v2 html >>%s 2>&1' % ( tool_path( bjam, v2=True 
), boostbook_log ) ] )
+        utils.system( [ '%s --v2 html >>%s 2>&1' % ( tool_path( bjam, v2=True 
), boostbook_log ) ] )
+    finally:
+        os.chdir( cwd )
 
 def collect_logs(
           tag
@@ -650,7 +668,23 @@
         , run_type
         )
 
+def collect_book( **unused ):
+    boostbook_archive_name = 'results/BoostBook.zip' 
+    log( 'Collecting files for BoostBook into "%s"...' % 
boostbook_archive_name )
+    import zipfile
+    boostbook_archive = zipfile.ZipFile( boostbook_archive_name, 'w', 
zipfile.ZIP_DEFLATED )
+    html_root = 'boost/doc/html'
 
+    boostbook_archive.writestr( 'timestamp', timestamp())
+    boostbook_archive.write( boostbook_log, os.path.basename( boostbook_log ) )
+    
+    def add_files( arg, dirname, names ):
+        for name in names:
+            path = os.path.join( dirname, name )
+            if not os.path.isdir( path ):
+                boostbook_archive.write( path, path[ len(html_root) + 1: ] )
+    os.path.walk( html_root, add_files, None ) 
+    
 def upload_logs(
           tag
         , runner
@@ -667,7 +701,11 @@
         , ( regression_results, runner, tag, user, ftp_proxy, debug_level, 
send_bjam_log, timestamp_path )
         )
 
-
+def upload_book( tag, runner, ftp_proxy, debug_level, **unused ):
+    import_utils()
+    from runner import upload_to_ftp
+    upload_to_ftp( tag, 'results/BoostBook.zip', ftp_proxy, debug_level )
+    
 def update_itself( tag, **unused ):
     source = os.path.join( xsl_reports_dir, 'runner', os.path.basename( 
sys.argv[0] ) )
     self = os.path.join( regression_root, os.path.basename( sys.argv[0] ) )
@@ -716,6 +754,7 @@
         , user
         , comment
         , toolsets
+        , book
         , bjam_options
         , bjam_toolset
         , pjl_toolset
@@ -761,11 +800,21 @@
                 cleanup( [] )
                 get_source( user, tag, proxy, [] )
 
-        setup( comment, toolsets, bjam_toolset, pjl_toolset, monitored, proxy,
+        setup( comment, toolsets, book, bjam_toolset, pjl_toolset, monitored, 
proxy,
                v2, [] )
-        test( toolsets, bjam_options, monitored, timeout, v2, [] )
-        collect_logs( tag, runner, platform, user, comment, incremental, [] )
-        upload_logs( tag, runner, user, ftp_proxy, debug_level, send_bjam_log )
+        # Not specifying --toolset in command line is not enough
+        # that would mean to use Boost.Build default ones
+        # We can skip test only we were explictly 
+        # told to have no toolsets in command line "--toolset="
+        if  toolsets != '': # --toolset=,
+            test( toolsets, book, bjam_options, monitored, timeout, v2, [] )
+            collect_logs( tag, runner, platform, user, comment, incremental, 
[] )
+            upload_logs( tag, runner, user, ftp_proxy, debug_level, 
send_bjam_log )
+        if book:
+            build_book()    
+            collect_book()
+            upload_book( tag, runner, ftp_proxy, debug_level )
+
         update_itself( tag )
 
         if mail:
@@ -811,6 +860,7 @@
         , 'user='
         , 'comment='
         , 'toolsets='
+        , 'book'
         , 'bjam-options='
         , 'bjam-toolset='
         , 'pjl-toolset='
@@ -836,6 +886,7 @@
         , '--user'          : None
         , '--comment'       : None
         , '--toolsets'      : None
+        , '--book'          : False
         , '--bjam-options'  : ''
         , '--bjam-toolset'  : None
         , '--pjl-toolset'   : None
@@ -862,6 +913,7 @@
         , 'user'            : options[ '--user' ]
         , 'comment'         : options[ '--comment' ]
         , 'toolsets'        : options[ '--toolsets' ]
+        , 'book'            : options.has_key( '--book' )
         , 'bjam_options'    : options[ '--bjam-options' ]
         , 'bjam_toolset'    : options[ '--bjam-toolset' ]
         , 'pjl_toolset'     : options[ '--pjl-toolset' ]
@@ -879,7 +931,6 @@
         , 'args'            : other_args
         }
 
-
 commands = {
       'cleanup'         : cleanup
     , 'get-source'      : get_source
@@ -887,8 +938,11 @@
     , 'setup'           : setup
     , 'install'         : install
     , 'test'            : test
+    , 'build-book'      : build_book
     , 'collect-logs'    : collect_logs
+    , 'collect-book'    : collect_book
     , 'upload-logs'     : upload_logs
+    , 'upload-book'     : upload_book
     , 'update-itself'   : update_itself
     , 'regression'      : regression
     , 'show-revision'   : show_revision
@@ -917,6 +971,7 @@
 \t                default)
 \t--user          SourceForge user name for a shell/CVS account (optional)
 \t--toolsets      comma-separated list of toolsets to test with (optional)
+\t--book          build BoostBook (optional)
 \t--bjam-options  options to pass to the regression test (optional)
 \t--bjam-toolset  bootstrap toolset for 'bjam' executable (optional)
 \t--pjl-toolset   bootstrap toolset for 'process_jam_log' executable


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to