MCPackage.st
changeset 144 b7077cd6a0c3
parent 103 016996199a05
child 154 8194c64661da
--- a/MCPackage.st	Mon Oct 26 16:25:23 2009 +0100
+++ b/MCPackage.st	Mon Oct 26 16:25:25 2009 +0100
@@ -37,7 +37,12 @@
 !
 
 packageInfo
-	^ PackageInfo named: name
+    Smalltalk isSmalltalkX ifTrue:[
+        ^ ProjectDefinition 
+            definitionClassForMonticelloPackage:name createIfAbsent:true
+    ] ifFalse:[
+        ^ PackageInfo named: name
+    ].
 !
 
 printOn: aStream
@@ -49,24 +54,26 @@
 !
 
 snapshot
-	| packageInfo definitions categories |
-	packageInfo := self packageInfo.
-	definitions := OrderedCollection new.
-	categories := packageInfo systemCategories.
-	categories isEmpty ifFalse: [ definitions add: (MCOrganizationDefinition categories: categories) ].
-	packageInfo methods do: [:ea | definitions add: ea asMethodDefinition] displayingProgress: 'Snapshotting methods...'.
-	(packageInfo respondsTo: #overriddenMethods) ifTrue:
-		[packageInfo overriddenMethods
-			do: [:ea | definitions add:
-					(packageInfo changeRecordForOverriddenMethod: ea) asMethodDefinition]
-			displayingProgress: 'Searching for overrides...'].
-	packageInfo classes do: [:ea | definitions addAll: ea classDefinitions] displayingProgress: 'Snapshotting classes...'.
-	(packageInfo respondsTo: #hasPreamble) ifTrue: [
-		packageInfo hasPreamble ifTrue: [definitions add: (MCPreambleDefinition from: packageInfo)].
-		packageInfo hasPostscript ifTrue: [definitions add: (MCPostscriptDefinition from: packageInfo)].
-		packageInfo hasPreambleOfRemoval ifTrue: [definitions add: (MCRemovalPreambleDefinition from: packageInfo)].
-		packageInfo hasPostscriptOfRemoval ifTrue: [definitions add: (MCRemovalPostscriptDefinition from: packageInfo)]]. 
-	^ MCSnapshot fromDefinitions: definitions
+        | packageInfo definitions categories |
+        packageInfo := self packageInfo.
+        definitions := OrderedCollection new.
+self todo:[
+        categories := packageInfo systemCategories.
+        categories isEmpty ifFalse: [ definitions add: (MCOrganizationDefinition categories: categories) ].
+        packageInfo methods do: [:ea | definitions add: ea asMethodDefinition] displayingProgress: 'Snapshotting methods...'.
+        (packageInfo respondsTo: #overriddenMethods) ifTrue:
+                [packageInfo overriddenMethods
+                        do: [:ea | definitions add:
+                                        (packageInfo changeRecordForOverriddenMethod: ea) asMethodDefinition]
+                        displayingProgress: 'Searching for overrides...'].
+        packageInfo classes do: [:ea | definitions addAll: ea classDefinitions] displayingProgress: 'Snapshotting classes...'.
+        (packageInfo respondsTo: #hasPreamble) ifTrue: [
+                packageInfo hasPreamble ifTrue: [definitions add: (MCPreambleDefinition from: packageInfo)].
+                packageInfo hasPostscript ifTrue: [definitions add: (MCPostscriptDefinition from: packageInfo)].
+                packageInfo hasPreambleOfRemoval ifTrue: [definitions add: (MCRemovalPreambleDefinition from: packageInfo)].
+                packageInfo hasPostscriptOfRemoval ifTrue: [definitions add: (MCRemovalPostscriptDefinition from: packageInfo)]]. 
+].
+        ^ MCSnapshot fromDefinitions: definitions
 !
 
 storeOn: aStream
@@ -86,5 +93,9 @@
 !MCPackage class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPackage.st,v 1.1 2006-11-22 13:19:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPackage.st,v 1.2 2009-10-26 15:25:25 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPackage.st,v 1.2 2009-10-26 15:25:25 cg Exp $'
 ! !