specs/stx-jv.rbspec
changeset 108 054919e32ff0
parent 104 3c610bb4c1f0
child 109 d4103254e0a8
--- a/specs/stx-jv.rbspec	Tue Dec 20 17:50:14 2016 +0000
+++ b/specs/stx-jv.rbspec	Thu Dec 22 22:25:06 2016 +0000
@@ -43,21 +43,37 @@
   import :'stx:baseline'
 
   # FORKED STC and librun
-  package "stx:stc", :repository => :'swing:private:hg', :branch => 'jv', :checkout => (Proc.new do | pkg |
+  package "stx:stc", :repository => :'swing:private:hg', :branch => 'jv', 
+    :checkout => (Proc.new do | pkg |
     # 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
+          checkout pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
     else
         download_blob_matching(/prebuilt-stc/, BUILD_DIR / 'stx')
+      end
+    end),
+    :update => (Proc.new do | pkg |
+      if (File.exists? BUILD_DIR / 'stx' / 'stc' / '.hg' / 'hgrc') then
+        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
+      else
+        warn "Not updating #{pkg.name} as no HG repository found in #{BUILD_DIR / 'stx' / 'stc'}"
     end
   end)
 
-  package "stx:librun", :repository => :'swing:private:hg', :branch => 'jv', :checkout => (Proc.new do | pkg |
+  package "stx:librun", :repository => :'swing:private:hg', :branch => 'jv', 
+    :checkout => (Proc.new do | pkg |
     # 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/librun', :branch => pkg.branch
+          checkout pkg.repository, 'stx/librun', :branch => pkg.branch, :revision => pkg.revision
     else
         download_blob_matching(/prebuilt-librun/, BUILD_DIR / 'stx')
+      end
+    end),
+    :update => (Proc.new do | pkg |
+      if (File.exists? BUILD_DIR / 'stx' / 'librun' / '.hg' / 'hgrc') then
+        update pkg.repository, 'stx/stc', :branch => pkg.branch, :revision => pkg.revision
+      else
+        warn "Not updating #{pkg.name} as no HG repository found in #{BUILD_DIR / 'stx' / 'librun'}"
     end
   end)
 
@@ -208,7 +224,7 @@
   package 'stx:libjava/tools', :test => true;
   package 'stx:goodies/regression', :test => true;
   package 'stx:libscm/mercurial', :test => true;
-  
+
   tasks do
     # We need to checkout CharacterEncoderCodeGenerator from stx:goodies
     # because RegressionTests::CharacterTests>>test01_CaseTesting needs that.