[Pkg] Packages: Sake-Packages-kph.22.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Tue Feb 17 22:49:37 UTC 2009


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

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

Name: Sake-Packages-kph.22
Author: kph
Time: 17 February 2009, 10:49:35 pm
UUID: c3d74616-6eef-40db-8998-f624a3c4cb63
Ancestors: Sake-Packages-kph.21

#provided remembers the SakeMeta info rather than the whole task, to avoid holding pointers.

migration of old data is performed

=============== Diff against Sake-Packages-kph.21 ===============

Item was changed:
  ----- Method: Packages class>>initialize (in category 'initialization') -----
  initialize
  
+ 	lastUpdate := nil.
+ 	
+ 	self provided withIndexDo: [ :v :k | 
+ 		| info |
+ 		
+ 		(v respondsTo: #info) ifTrue: [ 
+ 			
+ 			info := v info.
+ 			info dependsOn: (v dependsOn collect: [ :ea | ea asString ]).
+ 			info provides: v provides.
+ 			info class: v class name.
+ 			self provided at: k put: info.
+ 				
+ 		]	
+ 	]!
- 	lastUpdate := nil.!

Item was changed:
  ----- Method: Packages class>>upgrade (in category 'public') -----
  upgrade
- 	Packages update.
  	
+ 	self upgradeTasks run	
+ !
- 	self provided values asSet asTask run!

Item was changed:
  ----- Method: Packages>>doActionEnd (in category 'as yet unclassified') -----
  doActionEnd
  
  	self isUnloading ifTrue: [ ^ self ].
  	
  	self class provided in: [ :reg |
+ 		info dependsOn: (self dependsOn collect: [ :ea | ea asString ]).
+ 		info provides: self provides.
+ 		info class: self class name.
+ 		self provides do: [ :each | reg at: each put: info ].
- 		self provides do: [ :each | reg at: each put: self ].
  	].
  
  	"if a package appears in Packages under an obscure name, it can
  	tell the PackageInfo instance what name was used to load it via metadata
  	at mcName"
  	
  	self addToPackageInfo.
  	!

Item was added:
+ ----- Method: Packages class>>upgradeTasks (in category 'public') -----
+ upgradeTasks
+ 	| list |
+ 	Packages update.
+ 	
+ 	list := Set new.
+ 	
+ 	self provided withIndexDo: [ :k :v |  list add: ((Smalltalk classNamed: v class) named: k) ].
+ 	
+ 	^ list asTask!

Item was changed:
  ----- Method: Packages class>>upgradeList (in category 'public') -----
  upgradeList
  	"the list of pacakges that would be loaded by an upgrade"
  	Packages beta load: 'Packages'.
+ 	^ (self upgradeTasks instVarNamed: 'actionBlock') select: [ :ea | ea isNeeded: #() ] thenCollect: [ :ea | ea name ].
- 	^ (self provided values asSet asTask instVarNamed: 'actionBlock') select: [ :ea | ea isNeeded: #() ] thenCollect: [ :ea | ea name ].
  	
  	"
  	self upgradeList
  	"!

Item was removed:
- ----- Method: Packages>>dependants (in category 'as yet unclassified') -----
- dependants
- 
- 	^ self class provided select: [ :dependant  | 
- 		 dependant dependsOn includesAnyOf: self provides.
- 	].
- !



More information about the Packages mailing list