- stx_goodies_metacello_stx
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 03 Oct 2012 10:57:39 +0000
changeset 25 67134fbb3120
parent 24 3313f2289211
child 26 298df9a3e0be
- stx_goodies_metacello_stx added: #extensionsVersion_SVN changed: #classNamesAndAttributes #extensionMethodNames #preRequisites - MetacelloStXRepositorySpec added:19 methods category of: - MetacelloStXProject added: #repositoriesSpec #repositoriesSpecClass #repositorySpec #repositorySpecClass - MetacelloStXPackageSpec changed: #configMethodOn:indent: - MetacelloStXRepositoriesSpec added: #version_SVN changed: #configMethodOn:indent: - MetacelloStXVersionSpec added:5 methods - MetacelloStXVersionConstructor added:13 methods - extensions ...
stx/Make.proto
stx/Make.spec
stx/MetacelloStXPackageSpec.st
stx/MetacelloStXProject.st
stx/MetacelloStXRepositoriesSpec.st
stx/MetacelloStXRepositorySpec.st
stx/MetacelloStXVersionConstructor.st
stx/MetacelloStXVersionSpec.st
stx/abbrev.stc
stx/bc.mak
stx/extensions.st
stx/libInit.cc
stx/stx.rc
stx/stx_goodies_metacello_stx.st
--- a/stx/Make.proto	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/Make.proto	Wed Oct 03 10:57:39 2012 +0000
@@ -108,24 +108,6 @@
 prereq: $(REQUIRED_SUPPORT_DIRS)
 	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../base && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../libcompat && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../communication && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../monticello && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../core && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
@@ -145,9 +127,12 @@
 $(OUTDIR)MetacelloStXPackageSpec.$(O) MetacelloStXPackageSpec.$(H): MetacelloStXPackageSpec.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloAbstractPackageSpec.$(H) $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloSpec.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXPlatform.$(O) MetacelloStXPlatform.$(H): MetacelloStXPlatform.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloPlatform.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXProject.$(O) MetacelloStXProject.$(H): MetacelloStXProject.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloProject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)MetacelloStXRepositoriesSpec.$(O) MetacelloStXRepositoriesSpec.$(H): MetacelloStXRepositoriesSpec.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloMemberListSpec.$(H) $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloSpec.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)MetacelloStXRepositorySpec.$(O) MetacelloStXRepositorySpec.$(H): MetacelloStXRepositorySpec.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloSpec.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXVersionConstructor.$(O) MetacelloStXVersionConstructor.$(H): MetacelloStXVersionConstructor.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloVersionConstructor.$(H) $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloAbstractVersionConstructor.$(H) $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloAbstractConstructor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXVersionSpec.$(O) MetacelloStXVersionSpec.$(H): MetacelloStXVersionSpec.st $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloVersionSpec.$(H) $(INCLUDE_TOP)/stx/goodies/metacello/core/MetacelloSpec.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_metacello_stx.$(O) stx_goodies_metacello_stx.$(H): stx_goodies_metacello_stx.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/stx/Make.spec	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/Make.spec	Wed Oct 03 10:57:39 2012 +0000
@@ -56,6 +56,8 @@
 	MetacelloStXPackageSpec \
 	MetacelloStXVersionConstructor \
 	MetacelloStXVersionSpec \
+	MetacelloStXRepositoriesSpec \
+	MetacelloStXRepositorySpec \
 
 
 
@@ -67,6 +69,9 @@
     $(OUTDIR)MetacelloStXPackageSpec.$(O) \
     $(OUTDIR)MetacelloStXVersionConstructor.$(O) \
     $(OUTDIR)MetacelloStXVersionSpec.$(O) \
+    $(OUTDIR)MetacelloStXRepositoriesSpec.$(O) \
+    $(OUTDIR)MetacelloStXRepositorySpec.$(O) \
+    $(OUTDIR)extensions.$(O) \
 
 
 
--- a/stx/MetacelloStXPackageSpec.st	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/MetacelloStXPackageSpec.st	Wed Oct 03 10:57:39 2012 +0000
@@ -20,7 +20,7 @@
 configMethodOn: aStream indent: indent
 
      aStream 
-        tab: indent; nextPutAll: 'spec '; nextPutAll: 'name: ', self name printString; nextPut: $.; cr.
+        tab: indent; nextPutAll: 'spec '; nextPutAll: 'name: ', self name storeString; nextPut: $.; cr.
 
     "Created: / 03-10-2012 / 00:06:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
--- a/stx/MetacelloStXProject.st	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/MetacelloStXProject.st	Wed Oct 03 10:57:39 2012 +0000
@@ -30,6 +30,32 @@
     "Created: / 05-09-2012 / 19:28:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+repositoriesSpec
+
+        ^self repositoriesSpecClass for: self
+
+    "Created: / 03-10-2012 / 11:05:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repositoriesSpecClass
+
+        ^MetacelloStXRepositoriesSpec
+
+    "Created: / 03-10-2012 / 11:05:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repositorySpec
+    ^self repositorySpecClass for: self
+
+    "Created: / 03-10-2012 / 10:53:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repositorySpecClass
+    ^MetacelloStXRepositorySpec
+
+    "Created: / 03-10-2012 / 10:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 versionSpecClass
 
     ^MetacelloStXVersionSpec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stx/MetacelloStXRepositoriesSpec.st	Wed Oct 03 10:57:39 2012 +0000
@@ -0,0 +1,80 @@
+"{ Package: 'stx:goodies/metacello/stx' }"
+
+MetacelloMemberListSpec subclass:#MetacelloStXRepositoriesSpec
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Metacello-St/X-Specs'
+!
+
+
+!MetacelloStXRepositoriesSpec methodsFor:'actions'!
+
+add: aSpec
+
+        aSpec addToMetacelloRepositories: self
+
+    "Modified: / 03-10-2012 / 11:10:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+copy: specNamed to: spec
+
+	self addMember: 
+		(self copyMember 
+			name: spec name;
+			sourceName: specNamed;
+			spec: spec;
+			yourself)
+!
+
+merge: aSpec
+
+        aSpec mergeIntoMetacelloRepositories: self
+
+    "Modified: / 03-10-2012 / 11:10:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+remove: aSpec
+
+        aSpec removeFromMetacelloRepositories: self
+
+    "Modified: / 03-10-2012 / 11:10:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositoriesSpec methodsFor:'printing'!
+
+configMethodOn: aStream indent: indent
+
+        | repoSpecs |
+        repoSpecs := self map values.
+        repoSpecs isEmptyOrNil ifTrue: [ ^aStream nextPutAll: 'spec add: []' ].
+        repoSpecs size = 1
+                ifTrue: [
+                        aStream 
+                                tab: indent; 
+                                nextPutAll: 'spec add: ['; cr.
+                        repoSpecs first configMethodOn: aStream indent: indent + 1.
+                        aStream nextPut: $]; cr ]
+                ifFalse: [
+                        aStream 
+                                tab: indent; 
+                                nextPutAll: 'spec'.
+                        1 to: repoSpecs size do: [:index | | packageSpec |
+                                packageSpec := repoSpecs at: index.
+                                aStream 
+                                        tab: indent + 1;
+                                        nextPutAll: 'add: ['; cr.
+                                packageSpec configMethodOn: aStream indent: indent + 2.
+                                aStream nextPut: $].
+                                index < repoSpecs size
+                                        ifTrue: [ aStream nextPut: $; ].
+                                aStream cr ]]
+
+    "Modified: / 03-10-2012 / 11:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositoriesSpec class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stx/MetacelloStXRepositorySpec.st	Wed Oct 03 10:57:39 2012 +0000
@@ -0,0 +1,124 @@
+"{ Package: 'stx:goodies/metacello/stx' }"
+
+MetacelloSpec subclass:#MetacelloStXRepositorySpec
+	instanceVariableNames:'name type url username password keyfile'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Metacello-St/X-Specs'
+!
+
+
+!MetacelloStXRepositorySpec methodsFor:'accessing'!
+
+name
+    ^ name
+!
+
+name:aString
+    name := aString.
+!
+
+type
+    ^ type
+!
+
+type: anObject
+    anObject setTypeInMetacelloStXRepository: self
+
+    "Modified: / 03-10-2012 / 11:42:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+url
+    ^ url
+
+    "Created: / 03-10-2012 / 12:47:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+url: anObject
+    anObject setUrlInMetacelloStXRepository: self
+
+    "Created: / 03-10-2012 / 11:42:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositorySpec methodsFor:'accessing-private'!
+
+getType
+    ^ type
+
+    "Created: / 03-10-2012 / 11:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+getUrl
+    ^ url
+
+    "Created: / 03-10-2012 / 11:40:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setType: anObject
+    type := anObject
+
+    "Created: / 03-10-2012 / 11:41:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setUrl: anObject
+    url := anObject
+
+    "Created: / 03-10-2012 / 11:41:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositorySpec methodsFor:'construction'!
+
+type: aBlockOrString constructor: aVersionConstructor
+     aVersionConstructor typeForVersion: aBlockOrString
+
+    "Created: / 03-10-2012 / 11:34:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+url: aBlockOrString constructor: aVersionConstructor
+     aVersionConstructor urlForVersion: aBlockOrString
+
+    "Created: / 03-10-2012 / 11:35:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositorySpec methodsFor:'merging'!
+
+mergeIntoMetacelloRepositories: aMetacelloRepositoriesSpec
+
+    aMetacelloRepositoriesSpec addMember: 
+        (aMetacelloRepositoriesSpec mergeMember 
+            name: self name;
+            spec: self;
+            yourself)
+
+    "Created: / 03-10-2012 / 11:11:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositorySpec methodsFor:'printing'!
+
+configMethodOn:aStream indent:indent
+
+    aStream 
+        tab: indent; nextPutAll: 'spec '; nextPutAll: 'name: ', self name storeString.
+
+    (type ? url) notNil ifTrue:[
+        aStream 
+            nextPutAll: ' with: [' ; cr.
+            type notNil ifTrue:[
+                aStream tab: indent + 1; nextPutAll: 'spec type: '; nextPutAll: self type value storeString; nextPut:$.; cr.
+            ].
+            url notNil ifTrue:[
+                aStream tab: indent + 1; nextPutAll: 'spec url: '; nextPutAll: self url value storeString; nextPut:$.; cr.
+            ].
+            aStream tab: indent; nextPutAll: '].' ; cr.
+    ] ifFalse:[
+        aStream nextPut: $. ; cr.
+    ]
+
+    "Modified: / 03-10-2012 / 12:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXRepositorySpec class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/stx/MetacelloStXVersionConstructor.st	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/MetacelloStXVersionConstructor.st	Wed Oct 03 10:57:39 2012 +0000
@@ -8,6 +8,122 @@
 !
 
 
+!MetacelloStXVersionConstructor methodsFor:'api'!
+
+repositories: aBlock
+    self shouldNotImplement. "/use multiple repository:/repository:with:
+
+    "Created: / 03-10-2012 / 10:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repository: description username: username password: password
+    self shouldNotImplement. "/ use repository:with:
+"/    self root
+"/        repository: description
+"/        username: username
+"/        password: password
+"/        constructor: self
+
+    "Created: / 03-10-2012 / 10:44:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repository: anObject with: aBlock
+    self root repository: anObject with: aBlock constructor: self
+
+    "Created: / 03-10-2012 / 10:45:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+type: anObject
+    "Defines repository type (for MetacelloStXRepositorySpec).
+     Type must be one of #cvs, #svn or #git."
+
+    self root type: anObject constructor: self
+
+    "Created: / 03-10-2012 / 11:26:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+url: anObject
+    "Defines repository type (for MetacelloStXRepositorySpec).
+     Url may contain %(VAR) style variables that are expanded
+     before URL is used. See MetacelloStXRepositorySpec>>documentation
+     for details"
+
+    self root url: anObject constructor: self
+
+    "Created: / 03-10-2012 / 11:27:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXVersionConstructor methodsFor:'api callbacks'!
+
+setRepository: aString withBlock: aBlock
+
+        | spec |
+        spec := 
+                (self project repositorySpec)
+                        name: aString;
+                        yourself.
+        self root repositories merge: spec.
+        self with: spec during: aBlock
+
+    "Created: / 03-10-2012 / 10:52:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setTypeWithBlock: aBlock
+
+        | spec |
+        (spec := self root getType) == nil
+                ifTrue: [ 
+                        spec := self project valueHolderSpec.
+                        self root setType: spec ].
+        self with: spec during: aBlock
+
+    "Created: / 03-10-2012 / 11:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setTypeWithString: aString
+    self root type: aString
+
+    "Created: / 03-10-2012 / 11:38:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setUrlWithBlock: aBlock
+
+        | spec |
+        (spec := self root getUrl) == nil
+                ifTrue: [ 
+                        spec := self project valueHolderSpec.
+                        self root setUrl: spec ].
+        self with: spec during: aBlock
+
+    "Created: / 03-10-2012 / 11:39:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setUrlWithString: aString
+    self root url: aString
+
+    "Created: / 03-10-2012 / 11:38:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MetacelloStXVersionConstructor methodsFor:'api spec callbacks'!
+
+repositoryForVersion: packageName with: aBlockOrString
+    aBlockOrString setRepository: packageName withInMetacelloConfig: self
+
+    "Created: / 03-10-2012 / 10:47:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+typeForVersion: aBlockOrString
+    aBlockOrString setTypeInMetacelloConfig: self
+
+    "Created: / 03-10-2012 / 11:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+urlForVersion: aBlockOrString
+    aBlockOrString setUrlInMetacelloConfig: self
+
+    "Created: / 03-10-2012 / 11:35:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !MetacelloStXVersionConstructor class methodsFor:'documentation'!
 
 version_SVN
--- a/stx/MetacelloStXVersionSpec.st	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/MetacelloStXVersionSpec.st	Wed Oct 03 10:57:39 2012 +0000
@@ -34,6 +34,19 @@
     packages := anObject
 
     "Created: / 19-09-2012 / 02:24:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repositories
+    repositories isNil ifTrue: [ repositories := self project repositoriesSpec ].
+    ^ repositories
+
+    "Created: / 03-10-2012 / 11:04:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repositories: anObject
+    repositories := anObject
+
+    "Created: / 03-10-2012 / 11:04:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MetacelloStXVersionSpec methodsFor:'construction'!
@@ -54,6 +67,12 @@
     aVersionConstructor packageForVersion: packageName with: aBlockOrString
 
     "Created: / 19-09-2012 / 02:20:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+repository: repositoryName with: aBlockOrString constructor: aVersionConstructor
+    aVersionConstructor repositoryForVersion: repositoryName with: aBlockOrString
+
+    "Created: / 03-10-2012 / 10:49:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MetacelloStXVersionSpec class methodsFor:'documentation'!
--- a/stx/abbrev.stc	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/abbrev.stc	Wed Oct 03 10:57:39 2012 +0000
@@ -7,3 +7,5 @@
 MetacelloStXPackageSpec MetacelloStXPackageSpec stx:goodies/metacello/stx 'Metacello-St/X-Specs' 0
 MetacelloStXVersionConstructor MetacelloStXVersionConstructor stx:goodies/metacello/stx 'Metacello-St/X-Constructors' 0
 MetacelloStXVersionSpec MetacelloStXVersionSpec stx:goodies/metacello/stx 'Metacello-St/X-Specs' 0
+MetacelloStXRepositoriesSpec MetacelloStXRepositoriesSpec stx:goodies/metacello/stx 'Metacello-St/X-Specs' 0
+MetacelloStXRepositorySpec MetacelloStXRepositorySpec stx:goodies/metacello/stx 'Metacello-St/X-Specs' 0
--- a/stx/bc.mak	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/bc.mak	Wed Oct 03 10:57:39 2012 +0000
@@ -52,24 +52,6 @@
 prereq:
 	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\base & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\communication & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\monticello & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\core & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
@@ -81,8 +63,11 @@
 $(OUTDIR)MetacelloStXPackageSpec.$(O) MetacelloStXPackageSpec.$(H): MetacelloStXPackageSpec.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloAbstractPackageSpec.$(H) $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloSpec.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXPlatform.$(O) MetacelloStXPlatform.$(H): MetacelloStXPlatform.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloPlatform.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXProject.$(O) MetacelloStXProject.$(H): MetacelloStXProject.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloProject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)MetacelloStXRepositoriesSpec.$(O) MetacelloStXRepositoriesSpec.$(H): MetacelloStXRepositoriesSpec.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloMemberListSpec.$(H) $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloSpec.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)MetacelloStXRepositorySpec.$(O) MetacelloStXRepositorySpec.$(H): MetacelloStXRepositorySpec.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloSpec.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXVersionConstructor.$(O) MetacelloStXVersionConstructor.$(H): MetacelloStXVersionConstructor.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloVersionConstructor.$(H) $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloAbstractVersionConstructor.$(H) $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloAbstractConstructor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MetacelloStXVersionSpec.$(O) MetacelloStXVersionSpec.$(H): MetacelloStXVersionSpec.st $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloVersionSpec.$(H) $(INCLUDE_TOP)\stx\goodies\metacello\core\MetacelloSpec.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_metacello_stx.$(O) stx_goodies_metacello_stx.$(H): stx_goodies_metacello_stx.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stx/extensions.st	Wed Oct 03 10:57:39 2012 +0000
@@ -0,0 +1,76 @@
+"{ Package: 'stx:goodies/metacello/stx' }"!
+
+!Block methodsFor:'*metacello-stx'!
+
+setRepository: aString withInMetacelloConfig: aMetacelloConfig
+
+        aMetacelloConfig setRepository: aString withBlock: self
+
+    "Created: / 03-10-2012 / 10:51:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Block methodsFor:'*metacello-stx'!
+
+setTypeInMetacelloConfig: aMetacelloConfig
+
+    aMetacelloConfig setTypeWithBlock: self
+
+    "Created: / 03-10-2012 / 11:37:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Block methodsFor:'*metacello-stx'!
+
+setUrlInMetacelloConfig: aMetacelloConfig
+
+        aMetacelloConfig setUrlWithBlock: self
+
+    "Created: / 03-10-2012 / 11:37:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!String methodsFor:'*metacello-stx'!
+
+setTypeInMetacelloConfig: aMetacelloConfig
+
+    aMetacelloConfig setTypeWithString: self
+
+    "Created: / 03-10-2012 / 11:36:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!String methodsFor:'*metacello-stx'!
+
+setTypeInMetacelloStXRepository: aMetacelloStXRepository
+
+    aMetacelloStXRepository setType: 
+                (aMetacelloStXRepository project valueHolderSpec
+                        value: self;
+                        yourself)
+
+    "Created: / 03-10-2012 / 11:44:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!String methodsFor:'*metacello-stx'!
+
+setUrlInMetacelloConfig: aMetacelloConfig
+
+    aMetacelloConfig setUrlWithString: self
+
+    "Created: / 03-10-2012 / 11:36:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!String methodsFor:'*metacello-stx'!
+
+setUrlInMetacelloStXRepository: aMetacelloStXRepository
+
+    aMetacelloStXRepository setUrl: 
+                (aMetacelloStXRepository project valueHolderSpec
+                        value: self;
+                        yourself)
+
+    "Created: / 03-10-2012 / 11:44:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!stx_goodies_metacello_stx class methodsFor:'documentation'!
+
+extensionsVersion_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
\ No newline at end of file
--- a/stx/libInit.cc	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/libInit.cc	Wed Oct 03 10:57:39 2012 +0000
@@ -30,10 +30,12 @@
 _MetacelloStXPackageSpec_Init(pass,__pRT__,snd);
 _MetacelloStXPlatform_Init(pass,__pRT__,snd);
 _MetacelloStXProject_Init(pass,__pRT__,snd);
+_MetacelloStXRepositoriesSpec_Init(pass,__pRT__,snd);
+_MetacelloStXRepositorySpec_Init(pass,__pRT__,snd);
 _MetacelloStXVersionConstructor_Init(pass,__pRT__,snd);
 _MetacelloStXVersionSpec_Init(pass,__pRT__,snd);
 _stx_137goodies_137metacello_137stx_Init(pass,__pRT__,snd);
 
-
+_stx_137goodies_137metacello_137stx_extensions_Init(pass,__pRT__,snd);
 __END_PACKAGE__();
 }
--- a/stx/stx.rc	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/stx.rc	Wed Oct 03 10:57:39 2012 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Dale Henrichs 2008-2012\nCopyright Jan Vrany 2012 (port & Smalltalk/X specific code)\0"
       VALUE "ProductName", "Metacello\0"
       VALUE "ProductVersion", "6.2.3.1\0"
-      VALUE "ProductDate", "Tue, 02 Oct 2012 22:32:43 GMT\0"
+      VALUE "ProductDate", "Wed, 03 Oct 2012 10:57:36 GMT\0"
     END
 
   END
--- a/stx/stx_goodies_metacello_stx.st	Wed Oct 03 10:54:19 2012 +0000
+++ b/stx/stx_goodies_metacello_stx.st	Wed Oct 03 10:57:39 2012 +0000
@@ -27,8 +27,8 @@
      exclude individual packages in the #excludedFromPrerequisites method."
 
     ^ #(
-        #'stx:goodies/metacello/core'    "MetacelloProject - superclass of MetacelloStXProject "
-        #'stx:libbasic'    "Collection - superclass of MetacelloStXPackageSpec::Prerequisites "
+        #'stx:goodies/metacello/core'    "MetacelloAbstractPackageSpec - superclass of MetacelloStXPackageSpec "
+        #'stx:libbasic'    "Object - superclass of stx_goodies_metacello_stx "
     )
 ! !
 
@@ -48,6 +48,8 @@
         MetacelloStXPackageSpec
         MetacelloStXVersionConstructor
         MetacelloStXVersionSpec
+        MetacelloStXRepositoriesSpec
+        MetacelloStXRepositorySpec
     )
 !
 
@@ -56,6 +58,13 @@
      Entries are 2-element array literals, consisting of class-name and selector."
 
     ^ #(
+        Block setRepository:withInMetacelloConfig:
+        Block setTypeInMetacelloConfig:
+        Block setUrlInMetacelloConfig:
+        String setTypeInMetacelloConfig:
+        String setTypeInMetacelloStXRepository:
+        String setUrlInMetacelloConfig:
+        String setUrlInMetacelloStXRepository:
     )
 ! !
 
@@ -122,7 +131,7 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'6               '"$"
+    ^ "$SVN-Revision:"'22              '"$"
 ! !
 
 !stx_goodies_metacello_stx class methodsFor:'documentation'!