Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 07 Sep 2015 15:37:41 +0100
branchjv
changeset 1002 54b4906215ca
parent 1001 ab90b7b78d2a
child 1003 0ebeea1cdeeb
Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz This is handy for creating .mcz more compatible with Squeak / Pharo.
MCCommitDialog.st
MCDefinitionIndex.st
MCSnapshot.st
MCSnapshotOptions.st
MCStXSnapshotPreWriteTransformation.st
MCStxMczWriter.st
Make.proto
Make.spec
abbrev.stc
bc.mak
bmake.bat
libInit.cc
mingwmake.bat
stx_goodies_monticello.st
vcmake.bat
--- a/MCCommitDialog.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/MCCommitDialog.st	Mon Sep 07 15:37:41 2015 +0100
@@ -220,7 +220,7 @@
         "/ sigh: make a new snapshot (now with updated version methods)
         version snapshot:version package snapshot.
         version cachable:false. "/ force new a write (otherwise, the mcz is not rewritten)
-        version snapshot includeExtrasForSTX:(DefaultForIncludeSTXExtras := self includeExtrasForSTX value).
+        version snapshot options includeExtrasForSTX:(DefaultForIncludeSTXExtras := self includeExtrasForSTX value).
         repository storeVersion: version.
 
         clearChangeSet ifTrue:[
@@ -231,6 +231,7 @@
 
     "Created: / 15-09-2010 / 14:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 24-07-2012 / 16:33:56 / cg"
+    "Modified: / 07-09-2015 / 15:27:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MCCommitDialog methodsFor:'aspects'!
--- a/MCDefinitionIndex.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/MCDefinitionIndex.st	Mon Sep 07 15:37:41 2015 +0100
@@ -1,5 +1,7 @@
 "{ Package: 'stx:goodies/monticello' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#MCDefinitionIndex
 	instanceVariableNames:'definitions'
 	classVariableNames:''
@@ -68,6 +70,11 @@
     ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDefinitionIndex.st,v 1.5 2013-05-15 11:57:02 cg Exp $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: MCDefinitionIndex.st,v 1.5 2013-05-15 11:57:02 cg Exp $'
 ! !
--- a/MCSnapshot.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/MCSnapshot.st	Mon Sep 07 15:37:41 2015 +0100
@@ -1,5 +1,7 @@
 "{ Package: 'stx:goodies/monticello' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#MCSnapshot
 	instanceVariableNames:'definitions'
 	classVariableNames:''
@@ -33,19 +35,42 @@
 !
 
 includeExtrasForSTX
-    "/ do not default to true here, as the version is snapshotted twice in order to
-    "/ update the version-strings, and we don not need this stuff in the first round!!
-    | includeExtrasForSTX |
-    includeExtrasForSTX := self objectAttributeAt: #includeExtrasForSTX.
-    ^ includeExtrasForSTX ? false
+   <resource: #obsolete>
+
+   self obsoleteFeatureWarning:'Use `options includeExtrasForSTX` instead'.
+   ^ self options includeExtrasForSTX
+
+    "Modified: / 07-09-2015 / 15:28:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
 
-    "Modified: / 12-08-2013 / 01:57:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+includeExtrasForSTX: aBoolean
+   <resource: #obsolete>
+
+   self obsoleteFeatureWarning:'Use `options includeExtrasForSTX: aBoolean` instead'.
+   self options includeExtrasForSTX: aBoolean
+
+    "Modified: / 07-09-2015 / 15:27:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-includeExtrasForSTX:something
-    self objectAttributeAt: #includeExtrasForSTX put: something.
+options
+    "Return a snapshot options (as MCSnapshotOptions) with options
+     for the receiver. Options may be modified."
 
-    "Modified: / 12-08-2013 / 01:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    | options |
+    options := self objectAttributeAt: #options.
+    options isNil ifTrue:[ 
+        options := MCSnapshotOptions new.
+        options := self objectAttributeAt: #options put: options.
+    ].
+    ^ options
+
+    "Created: / 07-09-2015 / 15:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+options: aMCSnapshotOptions
+    self objectAttributeAt: #options put: aMCSnapshotOptions.
+
+    "Created: / 07-09-2015 / 15:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MCSnapshot methodsFor:'converting'!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MCSnapshotOptions.st	Mon Sep 07 15:37:41 2015 +0100
@@ -0,0 +1,26 @@
+"{ Package: 'stx:goodies/monticello' }"
+
+"{ NameSpace: Smalltalk }"
+
+Object subclass:#MCSnapshotOptions
+	instanceVariableNames:'includeExtrasForSTX'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SCM-Monticello-Base'
+!
+
+!MCSnapshotOptions methodsFor:'accessing'!
+
+includeExtrasForSTX    
+    
+    "/ do not default to true here, as the version is snapshotted twice in order to
+    "/ update the version-strings, and we don not need this stuff in the first round!!
+    ^ includeExtrasForSTX ? false
+
+    "Modified: / 07-09-2015 / 15:22:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+includeExtrasForSTX:aBoolean
+    includeExtrasForSTX := aBoolean.
+! !
+
--- a/MCStXSnapshotPreWriteTransformation.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/MCStXSnapshotPreWriteTransformation.st	Mon Sep 07 15:37:41 2015 +0100
@@ -104,7 +104,7 @@
 transform: anMCSnapshot
     "Returns a transformed **copy** of the original snapshot"
 
-    includeExtrasForSTX := anMCSnapshot includeExtrasForSTX.
+    includeExtrasForSTX := anMCSnapshot options includeExtrasForSTX.
     extensionMethodCategoryMap := OrderedCollection new.
     original := anMCSnapshot.
     projectDefinition := self projectDefinition.
@@ -139,7 +139,7 @@
     ^transformed.
 
     "Created: / 31-05-2013 / 00:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 31-07-2015 / 09:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-09-2015 / 15:28:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MCStXSnapshotPreWriteTransformation methodsFor:'visiting'!
--- a/MCStxMczWriter.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/MCStxMczWriter.st	Mon Sep 07 15:37:41 2015 +0100
@@ -144,7 +144,7 @@
 
     super writeVersion: aVersion.
 
-    aVersion snapshot includeExtrasForSTX ifTrue:[
+    aVersion snapshot options includeExtrasForSTX ifTrue:[
         "/ ST/X specific stuff here.
 
         packageID := aVersion package name.
@@ -159,6 +159,8 @@
             self writeResourceFiles: aVersion for: prjDef.
         ]
     ]
+
+    "Modified: / 07-09-2015 / 15:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MCStxMczWriter class methodsFor:'documentation'!
--- a/Make.proto	Fri Jul 31 09:32:09 2015 +0100
+++ b/Make.proto	Mon Sep 07 15:37:41 2015 +0100
@@ -171,6 +171,7 @@
 $(OUTDIR)MCScanner.$(O) MCScanner.$(H): MCScanner.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MCSettingsApp.$(O) MCSettingsApp.$(H): MCSettingsApp.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)MCSnapshot.$(O) MCSnapshot.$(H): MCSnapshot.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)MCSnapshotOptions.$(O) MCSnapshotOptions.$(H): MCSnapshotOptions.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MCSourceCodeManager.$(O) MCSourceCodeManager.$(H): MCSourceCodeManager.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic3/AbstractSourceCodeManager.$(H) $(STCHDR)
 $(OUTDIR)MCStXNamespaceQuery.$(O) MCStXNamespaceQuery.$(H): MCStXNamespaceQuery.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Query.$(H) $(STCHDR)
 $(OUTDIR)MCStXPackageInfo.$(O) MCStXPackageInfo.$(H): MCStXPackageInfo.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcompat/PackageInfo.$(H) $(STCHDR)
--- a/Make.spec	Fri Jul 31 09:32:09 2015 +0100
+++ b/Make.spec	Mon Sep 07 15:37:41 2015 +0100
@@ -90,6 +90,7 @@
 	MCScanner \
 	MCSettingsApp \
 	MCSnapshot \
+	MCSnapshotOptions \
 	MCSourceCodeManager \
 	MCStXNamespaceQuery \
 	MCStXPackageInfo \
@@ -220,6 +221,7 @@
     $(OUTDIR_SLASH)MCScanner.$(O) \
     $(OUTDIR_SLASH)MCSettingsApp.$(O) \
     $(OUTDIR_SLASH)MCSnapshot.$(O) \
+    $(OUTDIR_SLASH)MCSnapshotOptions.$(O) \
     $(OUTDIR_SLASH)MCSourceCodeManager.$(O) \
     $(OUTDIR_SLASH)MCStXNamespaceQuery.$(O) \
     $(OUTDIR_SLASH)MCStXPackageInfo.$(O) \
--- a/abbrev.stc	Fri Jul 31 09:32:09 2015 +0100
+++ b/abbrev.stc	Mon Sep 07 15:37:41 2015 +0100
@@ -41,6 +41,7 @@
 MCScanner MCScanner stx:goodies/monticello 'SCM-Monticello-Chunk Format' 0
 MCSettingsApp MCSettingsApp stx:goodies/monticello 'SCM-Monticello-St/X UI' 1
 MCSnapshot MCSnapshot stx:goodies/monticello 'SCM-Monticello-Base' 0
+MCSnapshotOptions MCSnapshotOptions stx:goodies/monticello 'SCM-Monticello-Base' 0
 MCSourceCodeManager MCSourceCodeManager stx:goodies/monticello 'SCM-Monticello-St/X support' 0
 MCStXNamespaceQuery MCStXNamespaceQuery stx:goodies/monticello 'SCM-Monticello-St/X support' 1
 MCStXPackageInfo MCStXPackageInfo stx:goodies/monticello 'SCM-Monticello-St/X support' 0
--- a/bc.mak	Fri Jul 31 09:32:09 2015 +0100
+++ b/bc.mak	Mon Sep 07 15:37:41 2015 +0100
@@ -118,6 +118,7 @@
 $(OUTDIR)MCScanner.$(O) MCScanner.$(H): MCScanner.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MCSettingsApp.$(O) MCSettingsApp.$(H): MCSettingsApp.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)MCSnapshot.$(O) MCSnapshot.$(H): MCSnapshot.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)MCSnapshotOptions.$(O) MCSnapshotOptions.$(H): MCSnapshotOptions.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MCSourceCodeManager.$(O) MCSourceCodeManager.$(H): MCSourceCodeManager.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic3\AbstractSourceCodeManager.$(H) $(STCHDR)
 $(OUTDIR)MCStXNamespaceQuery.$(O) MCStXNamespaceQuery.$(H): MCStXNamespaceQuery.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Query.$(H) $(STCHDR)
 $(OUTDIR)MCStXPackageInfo.$(O) MCStXPackageInfo.$(H): MCStXPackageInfo.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libcompat\PackageInfo.$(H) $(STCHDR)
--- a/bmake.bat	Fri Jul 31 09:32:09 2015 +0100
+++ b/bmake.bat	Mon Sep 07 15:37:41 2015 +0100
@@ -4,9 +4,7 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- a/libInit.cc	Fri Jul 31 09:32:09 2015 +0100
+++ b/libInit.cc	Mon Sep 07 15:37:41 2015 +0100
@@ -66,6 +66,7 @@
 _MCScanner_Init(pass,__pRT__,snd);
 _MCSettingsApp_Init(pass,__pRT__,snd);
 _MCSnapshot_Init(pass,__pRT__,snd);
+_MCSnapshotOptions_Init(pass,__pRT__,snd);
 _MCSourceCodeManager_Init(pass,__pRT__,snd);
 _MCStXNamespaceQuery_Init(pass,__pRT__,snd);
 _MCStXPackageInfo_Init(pass,__pRT__,snd);
--- a/mingwmake.bat	Fri Jul 31 09:32:09 2015 +0100
+++ b/mingwmake.bat	Mon Sep 07 15:37:41 2015 +0100
@@ -4,9 +4,6 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 
 @pushd ..\..\rules
 @call find_mingw.bat
--- a/stx_goodies_monticello.st	Fri Jul 31 09:32:09 2015 +0100
+++ b/stx_goodies_monticello.st	Mon Sep 07 15:37:41 2015 +0100
@@ -130,6 +130,7 @@
         MCScanner
         MCSettingsApp
         MCSnapshot
+        MCSnapshotOptions
         MCSourceCodeManager
         MCStXNamespaceQuery
         MCStXPackageInfo
--- a/vcmake.bat	Fri Jul 31 09:32:09 2015 +0100
+++ b/vcmake.bat	Mon Sep 07 15:37:41 2015 +0100
@@ -10,11 +10,8 @@
     popd
 )
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
 
-