stx_goodies_petitparser.st
changeset 482 9a7e7a05233f
parent 455 44208dab727c
child 483 3fe67c1fc040
--- 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'!