specs/stx-jv.rbspec
branchstx-8.0.0
changeset 177 6ad33f64e566
parent 170 c0383fb4e51f
child 184 cd1312f41a17
child 189 5b2320f1f2e2
--- a/specs/stx-jv.rbspec	Thu Aug 24 17:04:58 2017 +0100
+++ b/specs/stx-jv.rbspec	Thu Aug 24 17:14:44 2017 +0100
@@ -6,7 +6,7 @@
   sha256 = nil
   build = Jenkins::Build.new(%Q{https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastStableBuild})
   platform = BUILD_TARGET()
-  build.artifacts.each do | artifact |    
+  build.artifacts.each do | artifact |
     if (pattern =~ artifact.name) and (artifact.name.include? platform) then
       if artifact.name.end_with? '.sha256' then
         sha256 = artifact
@@ -39,7 +39,7 @@
   # FORKED STC and librun
   package "stx:stc", :repository => :'jv-branch:private', :branch => 'jv', revision: 'stx-8.0.0',
     :checkout => (Proc.new do | pkg |
-    # Download pre-compiled binary if user has no access to source code    
+    # Download pre-compiled binary if user has no access to source code
     if Rake::Stx::Configuration::Repository::find(pkg.repository) then
           checkout pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
     else
@@ -79,7 +79,7 @@
   package "stx:libcomp", :repository => :'jv-branch:public', :branch => 'jv'
   package "stx:libtool", :repository => :'jv-branch:public', :branch => 'jv'
   package "stx:libtool2",:repository => :'jv-branch:public', :branch => 'jv'
- 
+
   package "stx:libview", :repository => :'jv-branch:public', :branch => 'jv'
   package "stx:libview2", :repository => :'jv-branch:public', :branch => 'jv'
   package "stx:libwidg", :repository => :'jv-branch:public', :branch => 'jv'
@@ -94,16 +94,16 @@
   # ======================================================================
   package "stx:goodies/xml/vw", :repository => :'exept:public'
   package "stx:goodies/xml/stx", :repository => :'exept:public'
-  
+
   # SmallSense
   package "stx:goodies/regex", :repository => :'exept:public'
   package "stx:goodies/smallsense", :repository => :'jv-branch:public'
   package "stx:goodies/smallsense/refactoring_custom"
 
-  
+
   tasks do
     # Build and install documentation for stx:libjava and stx:libscm/mercurial
-    task "install:pre" do 
+    task "install:pre" do
       chdir BUILD_DIR / 'stx' / 'libjava' do
         make "doc-install"
       end
@@ -114,7 +114,7 @@
 
     # Try execute run the VM if it starts up
     task :'compile:post' do
-      if PROJECT == 'stx:jv-branch' then  
+      if PROJECT == 'stx:jv-branch' then
         chdir BUILD_DIR / 'stx' / 'projects' / 'smalltalk' do
           if win32?
             cmd = "smalltalk.bat --abortOnSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
@@ -127,11 +127,11 @@
         end
       end
     end
-        
+
     if win32_wine?
-      task :'stx:projects/smalltalk:pre' do   
-        chdir (BUILD_DIR / 'stx' / 'projects' / 'smalltalk') do   
-          make "buildDate.h"    
+      task :'stx:projects/smalltalk:pre' do
+        chdir (BUILD_DIR / 'stx' / 'projects' / 'smalltalk') do
+          make "buildDate.h"
         end
       end
 
@@ -205,7 +205,7 @@
   package 'stx:goodies/ring', :repository => :'jv-branch:public', :link => false
   package 'stx:goodies/libcairo', :repository => :'jv-branch:public', :link => false
   package 'stx:goodies/cypress', :repository => :'jv-branch:public'
-  package "stx:goodies/xmlsuite", :repository => :'jv-branch:public'  
+  package "stx:goodies/xmlsuite", :repository => :'jv-branch:public'
   package "stx:goodies/loggia", :repository => :'exept:public', :link => false
   package 'stx:goodies/smaCC',:repository => :'jv-branch:public'
   package 'stx:goodies/regression',:repository => :'jv-branch:public', :branch => 'jv', revision: 'stx-8.0.0', :link => false
@@ -213,7 +213,7 @@
   package "stx:goodies/builder/reports"
 
   # Define a "default" test suite, i.e., a set of tests that are run when
-  # user does `rake test`. 
+  # user does `rake test`.
   package 'stx:libview/tests', :test => true;
   package 'stx:libjava', :test => true;
   package 'stx:libjava/tools', :test => true;
@@ -222,17 +222,17 @@
 
   tasks do
     # We need to checkout CharacterEncoderCodeGenerator from stx:goodies
-    # because RegressionTests::CharacterTests>>test01_CaseTesting needs that. 
+    # because RegressionTests::CharacterTests>>test01_CaseTesting needs that.
     task 'checkout:post' => BUILD_DIR / 'stx' / 'goodies' / 'CharacterEncoderCodeGenerator.st'
     file (BUILD_DIR / 'stx' / 'goodies' / 'CharacterEncoderCodeGenerator.st') do
-      checkout(:'exept:public', 'stx/goodies/CharacterEncoderCodeGenerator.st')      
+      checkout(:'exept:public', 'stx/goodies/CharacterEncoderCodeGenerator.st')
     end
-  
+
     task :'install:main' => :'dist:jv-branch'
 
     task :'dist:jv:pre' => :'stx:jv-branch:extractver'
 
-    if win32?     	
+    if win32?
       app_name    = project.app_name      || (raise Exception.new("No app_name property specified"))
 	    app_version = project.app_version   || (raise Exception.new("No app_version property specified"))
 	    version = app_version.split('_').first
@@ -240,10 +240,10 @@
 	    install_dir = ARTIFACTS_DIR / BUILD_NAME
 	    bin_dir = install_dir / 'bin'
 
-	    
+
     	cairo_dlls = nil
     	if /i686/ =~ BUILD_TARGET
-	      cairo_dlls =  [ 
+	      cairo_dlls =  [
 	      	'libcairo-2.dll' ,
 					'libfontconfig-1.dll' ,
 					'libfreetype-6.dll' ,
@@ -254,7 +254,7 @@
 					'zlib1.dll'
 					]
 			else
-				cairo_dlls =  [ 
+				cairo_dlls =  [
 	      	'fontconfig.dll' ,
 	      	'iconv.dll' ,
 	      	'libcairo-2.dll' ,
@@ -275,30 +275,18 @@
     	end
     end
 
-    task :'dist:jv-branch' => [ :'dist:jv:all',                                                          
+    task :'dist:jv-branch' => [ :'dist:jv:all',
                                 :'dist:jv:doc' ]
 
     task :'install:main' => [:'stx:jv-branch:extractver']
     task :'artifacts:main' => [:'stx:jv-branch:extractver']
-    task :'artifacts:post' => [:'stx:jv-branch:extractver'] do  
-      # Just to be sure, refuse to create stc and librun archives
-      # if the directory contain sources. This is to prevent accidental
-      # leak of non-disclosed sources. Better safe than sorry!
-      if core_developer? || (File.exist? BUILD_DIR / 'stx' / 'stc' / '.hg') || (File.exist? BUILD_DIR / 'stx' / 'stc' / 'CVS') then
-        puts "WARNING: NOT CREATING stc archive since directory contains sources!!!"
-      else
-        # Be paranoid, do cleanup here. Should have been done, but who knows...
-        cleanup_stc() 
-    	  zip BUILD_DIR / 'stx' / 'stc' , archive: ARTIFACTS_DIR / "#{project.app_name}-#{project.app_version}_#{BUILD_TARGET}_prebuilt-stc"
-      end
-      if core_developer? || (File.exist? BUILD_DIR / 'stx' / 'librun' / '.hg') || (File.exist? BUILD_DIR / 'stx' / 'librun' / 'CVS') then
-        puts  "WARNING: NOT CREATING librun archive since directory contains sources!!!"
-      else
-        # Be paranoid, do cleanup here. Should have been done, but who knows...
-        cleanup_librun() 
-    	  zip BUILD_DIR / 'stx' / 'librun' , archive: ARTIFACTS_DIR / "#{project.app_name}-#{project.app_version}_#{BUILD_TARGET}_prebuilt-librun"
-      end
-    end
+    task :'artifacts:post' => [:'artifacts:prebuilt-stc', :'artifacts:prebuilt-librun' ]
+
+    # Add dependency of stc and librun archive tasks on :'stx:jv-branch:extractver' so
+    # they create archives with up-to-date version.
+    task :'artifacts:prebuilt-stc' => :'stx:jv-branch:extractver'
+    task :'artifacts:prebuilt-librun' => :'stx:jv-branch:extractver'
+
   end
 end
 
@@ -326,7 +314,7 @@
   import :'stx:jv-branch'
 
   # Sigh, if we're about to run tests only, we don't want to
-  # run standard tests so we need to clean test flag. 
+  # run standard tests so we need to clean test flag.
   package 'stx:libview/tests', :test => false;
   package 'stx:libjava', :test => false;
   package 'stx:libjava/tools', :test => false;
@@ -343,7 +331,7 @@
          end
       end
     end
-    
+
     clear :'dist:install' => :'dist:jv-branch'
   end
 end