[Pkg] Packages: Packages-Core-kph.37.mcz

squeaksource-noreply at iam.unibe.ch squeaksource-noreply at iam.unibe.ch
Mon May 26 10:55:02 UTC 2008


A new version of Packages-Core was added to project Packages:
http://www.squeaksource.com/Packages/Packages-Core-kph.37.mcz

==================== Summary ====================

Name: Packages-Core-kph.37
Author: kph
Time: 26 May 2008, 11:54:59 am
UUID: 052a68e1-33db-43e7-a1c6-17db1ba09318
Ancestors: Packages-Core-kph.36

try to only remove those package selectors which are no longer in universes

=============== Diff against Packages-Core-kph.36 ===============

Item was added:
+ ----- Method: Packages class>>taskRemoveOldPackages (in category 'tasks - universes') -----
+ taskRemoveOldPackages
+  
+ ^ SakeTask define: [ :task | 
+ 
+ 	task dependsOn: { [ self isUniverse ]. self taskUpdateUniverse. }.
+ 		
+ 	task action: [ 
+ 		(self selectors difference: 
+ 			(self theUUniverse packageNames collect: [ :each | self asSelector: each name ]))
+ 			do: [ :old | self removeSelector: old ]
+ 	].	
+   ]!

Item was changed:
  ----- Method: Packages class>>taskGenerateUniversePackageTasks (in category 'tasks - universes') -----
  taskGenerateUniversePackageTasks
  
  | source selector |
  ^ SakeTask define: [ :task | 
  	
  	task dependsOn: { 
  	
  		[ self isUniverse ]. 
+  		self taskUpdateUniverse.
+ 		self taskRemoveOldPackages.
- 		(SakeTask class: self) removeSelectorsMatching: '*'.  
- 		self taskUpdateUniverse.
  	}.
  
  	task action: [ 
  		(self theUUniverse packageNames collect: [ :each | self theUUniverse newestPackageNamed: each ]) do: [ :each | 
  			source := (WriteStream on: String new).
  				source << (selector := self asSelector: each name).
  				source cr; cr.
  				source << '	self name: ' << each name printString << '.' ; cr.
  				source << '	self version: ''' << each version << '''.' ; cr; cr.					
  				source << '	info category: ''' << each category printString << '''.' ; cr.
  				source << '	info description: ' ; cr.
  				source << each description withSqueakLineEndings printString << '.' ; cr.
  				source << '	info maintainer: ''' << each maintainer << '''.' ; cr.
  				source << '	info homepage: ''' << (each homepage ifNil: ['']) asString << '''.' ; cr.					
  				source << '	info squeakMapID: ''' << (each squeakMapID ifNil: [''])  asString << '''.' ; cr.					
  				source << '	info url: ''' << each url printString << '''.' ; cr.					
  				source << '	self provides: ' << each provides asArray printString << '.' ; cr ; cr.					
  				source << '	self dependsOn: ' << each depends asArray printString << '.' ; cr ; cr.
  				source << '	self load: [' ; cr.
  
  each url ifNotNil: [					
  				source << '		Installer installUrl:''' << each url printString << '''.' ; cr.	
  ].
  				source << '	].' ; cr ; cr.
  				source << '	self unloadDependsOn: { self taskUnloadDependants }.'  ; cr.
  				source << '	self unload: [' ; cr.
  each url ifNotNil: [					
   				source << '		Installer unload: ' << each name printString << '.' ; cr.	
  ].
  				source << '	].'.	
+ 			 
+ 			(self sourceCodeAt: selector ifAbsent: nil)	 ~= source contents ifTrue: [								 
+ 			 
- 			
- 			(self sourceCodeAt: selector)	~= source ifTrue: [								 
  				self compile: source contents classified: each category printString notifying: nil
  			]
  		].
  		theUUniverse := nil.
  	].	
  ]!



More information about the Packages mailing list