Updated .mcz exporting code to include a commit message digest
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 03 Jun 2015 08:48:59 +0100
changeset 482 9a7e7a05233f
parent 481 34ee0d3c72e7
child 483 3fe67c1fc040
Updated .mcz exporting code to include a commit message digest ...instead of just exported revision commit message.
Make.proto
bc.mak
bmake.bat
lccmake.bat
mingwmake.bat
stx_goodies_petitparser.st
vcmake.bat
--- a/Make.proto	Wed Jun 03 06:23:49 2015 +0100
+++ b/Make.proto	Wed Jun 03 08:48:59 2015 +0100
@@ -21,7 +21,7 @@
 INCLUDE_TOP=$(TOP)/..
 
 # subdirectories where targets are to be made:
-SUBDIRS= analyzer tests parsers/smalltalk parsers/java compiler
+SUBDIRS= analyzer tests ../parsers/smalltalk ../parsers/java ../compiler
 
 
 # subdirectories where Makefiles are to be made:
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/monticello -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libscm/mercurial/monticello
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2
 
 
 # if you need any additional defines for embedded C code,
--- a/bc.mak	Wed Jun 03 06:23:49 2015 +0100
+++ b/bc.mak	Wed Jun 03 08:48:59 2015 +0100
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\monticello -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libscm\mercurial\monticello
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
--- a/bmake.bat	Wed Jun 03 06:23:49 2015 +0100
+++ b/bmake.bat	Wed Jun 03 08:48:59 2015 +0100
@@ -24,23 +24,23 @@
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/smalltalk
+@echo "Buildung stx/goodies/parsers/smalltalk
 @echo "***********************************"
-@pushd parsers\smalltalk
+@pushd ..\parsers\smalltalk
 @call bmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/java
+@echo "Buildung stx/goodies/parsers/java
 @echo "***********************************"
-@pushd parsers\java
+@pushd ..\parsers\java
 @call bmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/compiler
+@echo "Buildung stx/goodies/compiler
 @echo "***********************************"
-@pushd compiler
+@pushd ..\compiler
 @call bmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
--- a/lccmake.bat	Wed Jun 03 06:23:49 2015 +0100
+++ b/lccmake.bat	Wed Jun 03 08:48:59 2015 +0100
@@ -20,23 +20,23 @@
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/smalltalk
+@echo "Buildung stx/goodies/parsers/smalltalk
 @echo "***********************************"
-@pushd parsers\smalltalk
+@pushd ..\parsers\smalltalk
 @call lccmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/java
+@echo "Buildung stx/goodies/parsers/java
 @echo "***********************************"
-@pushd parsers\java
+@pushd ..\parsers\java
 @call lccmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/compiler
+@echo "Buildung stx/goodies/compiler
 @echo "***********************************"
-@pushd compiler
+@pushd ..\compiler
 @call lccmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
--- a/mingwmake.bat	Wed Jun 03 06:23:49 2015 +0100
+++ b/mingwmake.bat	Wed Jun 03 08:48:59 2015 +0100
@@ -28,23 +28,23 @@
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/smalltalk
+@echo "Buildung stx/goodies/parsers/smalltalk
 @echo "***********************************"
-@pushd parsers\smalltalk
+@pushd ..\parsers\smalltalk
 @call mingwmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/java
+@echo "Buildung stx/goodies/parsers/java
 @echo "***********************************"
-@pushd parsers\java
+@pushd ..\parsers\java
 @call mingwmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/compiler
+@echo "Buildung stx/goodies/compiler
 @echo "***********************************"
-@pushd compiler
+@pushd ..\compiler
 @call mingwmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
--- a/stx_goodies_petitparser.st	Wed Jun 03 06:23:49 2015 +0100
+++ b/stx_goodies_petitparser.st	Wed Jun 03 08:48:59 2015 +0100
@@ -62,7 +62,14 @@
      preRequisites scan. See #preRequisites for more."
 
     ^ #(
+        #'stx:goodies/monticello'    "MCDirectoryRepository - referenced by stx_goodies_petitparser class>>monticelloExportTo:"
+        #'stx:libscm/mercurial'    "HGPackageWorkingCopy - referenced by stx_goodies_petitparser class>>monticelloExportTo:"
+        #'stx:libscm/mercurial/monticello'    "HGMCVersionInfo - referenced by stx_goodies_petitparser class>>monticelloExportTo:"
+        #'stx:libwidg'    "ScrollableView - referenced by PPParser>>inspector2TabTree"
+        #'stx:libwidg2'    "HierarchicalListView - referenced by PPParser>>inspector2TabTree"            
     )
+
+    "Modified: / 03-06-2015 / 08:47:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 mandatoryPreRequisites
@@ -90,8 +97,6 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'stx:goodies/monticello'    "MCDirectoryRepository - referenced by stx_goodies_petitparser class>>exportAsMczTo:"
-        #'stx:libscm/mercurial/monticello'    "HGMCVersionInfo - referenced by stx_goodies_petitparser class>>exportAsMczTo:"
     )
 !
 
@@ -292,14 +297,13 @@
 monticelloExportTo: directory
     "Export .mcz packages to given directory"
 
-    | packages exporter mcrepo |
+    | packages message exporter mcrepo hgrev hgrepo |
 
     Smalltalk loadPackage: 'stx:goodies/monticello'.
     Smalltalk loadPackage: 'stx:libscm/mercurial/monticello'.
     Class tryLocalSourceFirst: true.
 
-
-   packages := #(
+    packages := #(
         'stx:goodies/petitparser'
         'stx:goodies/petitparser/tests'
         'stx:goodies/petitparser/analyzer'
@@ -315,19 +319,41 @@
         'stx:goodies/petitparser/compiler/benchmarks'
     ).
 
+    packages do:[:pkgnm |
+        Smalltalk loadPackage: pkgnm. 
+    ].
+
+    packages do:[:pkgnm | 
+        | pm cs |
+
+        pm := HGPackageWorkingCopy named: pkgnm.
+        hgrepo isNil ifTrue:[
+            hgrepo := pm repository.
+        ].
+        hgrev isNil ifTrue:[ 
+            hgrev := pm revision.
+        ] ifFalse:[ 
+            hgrev = pm revision ifFalse:[ 
+                "/ self error: 'Package revisions differ!!'
+            ].
+        ].
+    ].
+
+    message := (hgrepo @ hgrev) messageDigest.
+
     exporter := [:pkgnm|
         | mcpkg mcwc mcvi mcversion |
 
         Stdout nextPutAll: 'Exporting '; nextPutLine: pkgnm.
-        Smalltalk loadPackage: pkgnm.
         mcpkg := MCPackage named: pkgnm.
         mcwc := mcpkg workingCopy.
         mcvi := HGMCVersionInfo forPackage: pkgnm.
+        mcvi message: message.
         [
            mcversion := mcwc newVersion.
            mcversion snapshot includeExtrasForSTX: false.
         ] on: MCVersionNameAndMessageRequest do:[:ex |
-            ex resume: (Array with: mcvi name with: mcvi message)
+            ex resume: (Array with: mcvi name with: message)
         ].
         mcversion info: mcvi.
         mcrepo storeVersion: mcversion.
@@ -341,6 +367,7 @@
     "
 
     "Created: / 04-10-2014 / 21:30:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-06-2015 / 08:06:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !stx_goodies_petitparser class methodsFor:'documentation'!
--- a/vcmake.bat	Wed Jun 03 06:23:49 2015 +0100
+++ b/vcmake.bat	Wed Jun 03 08:48:59 2015 +0100
@@ -32,23 +32,23 @@
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/smalltalk
+@echo "Buildung stx/goodies/parsers/smalltalk
 @echo "***********************************"
-@pushd parsers\smalltalk
+@pushd ..\parsers\smalltalk
 @call vcmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/parsers/java
+@echo "Buildung stx/goodies/parsers/java
 @echo "***********************************"
-@pushd parsers\java
+@pushd ..\parsers\java
 @call vcmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
 @echo "***********************************"
-@echo "Buildung stx/goodies/petitparser/compiler
+@echo "Buildung stx/goodies/compiler
 @echo "***********************************"
-@pushd compiler
+@pushd ..\compiler
 @call vcmake %1 %2 || exit /b "%errorlevel%"
 @popd