Merge
authorJan Vrany <jan.vrany@labware.com>
Wed, 04 Nov 2020 11:39:12 +0000
changeset 313 0d7537d100f9
parent 307 0531e67049d6 (current diff)
parent 312 7f1be752f87a (diff)
child 314 834d89a1e75d
Merge
--- a/rakelib/extensions.rb	Thu Oct 08 10:59:53 2020 +0100
+++ b/rakelib/extensions.rb	Wed Nov 04 11:39:12 2020 +0000
@@ -51,10 +51,8 @@
 
   rake_extension('warn') do
     def warn(message, details = nil)
-      unless VERBOSE.nil?
-        $stderr.puts "[WARN] #{message}"
-        $stderr.puts "      #{details}" if details
-      end
+      $stderr.puts "[WARN] #{message}"
+      $stderr.puts "      #{details}" if details
     end
   end
 
--- a/rakelib/setup.rake	Thu Oct 08 10:59:53 2020 +0100
+++ b/rakelib/setup.rake	Wed Nov 04 11:39:12 2020 +0000
@@ -162,10 +162,27 @@
 
 task :'setup:dependencies' => :checkout do
   project.packages.each do |pkg|
+    all = project.packages.collect { | pkg | pkg.name }
     if pkg.name == 'stx:stc' or pkg.name == 'stx:librun' or File.exist? (BUILD_DIR / pkg.directory / pkg.project_definition_file_name)
       unless pkg.test_package?
+        prereqs_reqd = pkg.prereqs(mandatory: true)
+        prereqs_refd = pkg.prereqs(referenced: true)
+
+        # Now, check that all mandatory and required packages are defined.
+        # This is merely a check to make sure we have all the code ready.
+        prereqs_reqd.each do | dep |
+          if not all.include? dep then
+            error("Package #{pkg.name} requires #{dep} but it is not defined in spec!")
+          end
+        end
+        prereqs_refd.each do | dep |
+          if not all.include? dep then
+            warn("Package #{pkg.name} references #{dep} but it is not defined in spec!")
+          end
+        end
+
         task "#{project.application.name}:dependencies" => pkg.name
-        task "#{pkg.name}:dependencies" => pkg.prereqs(mandatory: true)
+        task "#{pkg.name}:dependencies" => prereqs_reqd
       end
     end
   end
--- a/rakelib/workflow.rake	Thu Oct 08 10:59:53 2020 +0100
+++ b/rakelib/workflow.rake	Wed Nov 04 11:39:12 2020 +0000
@@ -94,19 +94,19 @@
   task :'push-upstream' => :'setup'
 
 
-  desc 'Display changes to be pushed to staging repositores (use it to review what workflow:push-staging would do)'
-  task :'out-staging', :user, :pass do |t, args|
+  desc 'Display changes to be pushed (use it to review what workflow:push would do)'
+  task :'out', :user, :pass do |t, args|
     RakeFileUtils.verbose(false) do
-      has_changes = push('staging', args[:user], args[:pass], true, true)
+      has_changes = push('default', args[:user], args[:pass], true, true)
       puts 'No changes to be pushed to staging repositories' unless has_changes
       exit(has_changes ? 0 : 1 )
     end
   end
   task :'out-staging' => :'setup'
 
-  desc 'Push currently checked out revisions to staging repositories (to be by developer to test her changes)'
-  task :'push-staging', :user, :pass do |t, args|
-    push('staging', args[:user], args[:pass], false, true)
+  desc 'Push currently checked out revisions (to be used by developer to test her changes)'
+  task :'push', :user, :pass do |t, args|
+    push('default', args[:user], args[:pass], false, true)
   end
   task :'push-staging' => :'setup'
 
--- a/specs/baseline.rbspec	Thu Oct 08 10:59:53 2020 +0100
+++ b/specs/baseline.rbspec	Wed Nov 04 11:39:12 2020 +0000
@@ -29,7 +29,6 @@
   package "stx:goodies/refactoryBrowser/lint"
   package "stx:goodies/refactoryBrowser/browser"
   package "stx:libtool2"
-  package "stx:goodies/libdbase" if not win32?
   package "stx:goodies/fileformats/plist"
 
   application 'stx:projects/smalltalk'
--- a/specs/stx-jv.rbspec	Thu Oct 08 10:59:53 2020 +0100
+++ b/specs/stx-jv.rbspec	Wed Nov 04 11:39:12 2020 +0000
@@ -187,13 +187,20 @@
   package "stx:libjava/experiments"
   #package "stx:libjava/examples" :link => false
 
-  # VDB
+  # VDB support
   package 'stx:goodies/magritte', :repository => :'exept:public', :link => false
   package 'stx:goodies/announcements', :repository => :'exept:public'
-  package 'jv:libgdbs', :repository => :'jv-branch:public', :link => false
-  package 'jv:libgdbs/tests', :repository => :'jv-branch:public', :link => false
-  package 'jv:vdb', :repository => :'jv-branch:public', :link => false
-  package 'jv:vdb/plugins/bee', :repository => :'jv-branch:public', :link => false
+
+  # VDB itself.
+  #
+  # We no longer ship VDB as part of St/X - few people used it and those who did/will
+  # are also those who may want to develop it. So, to make use-and-improve story
+  # simpler, let them to check it out manually.
+  #
+  #package 'jv:libgdbs', :repository => :'jv-branch:public', :link => false
+  #package 'jv:libgdbs/tests', :repository => :'jv-branch:public', :link => false
+  #package 'jv:vdb', :repository => :'jv-branch:public', :link => false
+  #package 'jv:vdb/plugins/bee', :repository => :'jv-branch:public', :link => false
 
 
   # Smalltalk/X IDE