[Pkg] The Trunk: Installer-Core-cmm.393.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 7 21:17:23 UTC 2014


Chris Muller uploaded a new version of Installer-Core to project The Trunk:
http://source.squeak.org/trunk/Installer-Core-cmm.393.mcz

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

Name: Installer-Core-cmm.393
Author: cmm
Time: 7 May 2014, 4:17:07.008 pm
UUID: 595beb55-5641-48b6-8cca-5ace62b68799
Ancestors: Installer-Core-cmm.392

- Add #allPackages accessor so a UI can present a list.
- Respect all repository directives even if encountered more than once.
- More-localized exception handling in #primMerge: (style change only).

=============== Diff against Installer-Core-cmm.392 ===============

Item was added:
+ ----- Method: Installer>>allPackages (in category 'accessing') -----
+ allPackages
+ 	^ (self class withAllSuperclasses
+ 		inject: OrderedCollection new
+ 		into:
+ 			[ : coll : each | coll
+ 				 addAll: (each methodsInCategory: 'package-definitions') ;
+ 				 yourself ]) sort!

Item was changed:
  ----- Method: Installer>>depthFirstOf:do:ifNotIn: (in category 'private') -----
  depthFirstOf: structure do: oneArgBlock ifNotIn: aSet 
  	(aSet includes: structure) ifTrue: [ ^ self ].
+ 	"Respect all repository directives even if encountered more than once."
+ 	(structure isVariableBinding) ifFalse: [ aSet add: structure ].
- 	aSet add: structure.
  	structure isArray
  		ifTrue:
  			[ structure do:
  				[ : each | self
  					depthFirstOf: each
  					do: oneArgBlock
  					ifNotIn: aSet ] ]
  		ifFalse: [ oneArgBlock value: structure ]!

Item was changed:
  ----- Method: Installer>>primMerge: (in category 'private') -----
  primMerge: packageName 
+ 	| version |
- 	[ | version |
  	version := (currentRepository includesVersionNamed: packageName)
  		ifTrue: [ currentRepository versionNamed: packageName ]
  		ifFalse: [ currentRepository highestNumberedVersionForPackageNamed: packageName ].
+ 	[ version shouldMerge
- 	version shouldMerge
  		ifTrue: [ version merge ]
+ 		ifFalse: [ version load ] ]
- 		ifFalse: [ version load ].
- 	version workingCopy repositoryGroup addRepository: currentRepository ]
  		on: MCNoChangesException
  		do:
  			[ : req | req resume ]
  		on: MCMergeResolutionRequest
  		do:
  			[ : request | request merger conflicts isEmpty
  				ifTrue: [ request resume: true ]
+ 				ifFalse: [ request pass ] ].
+ 	version workingCopy repositoryGroup addRepository: currentRepository!
- 				ifFalse: [ request pass ] ]!



More information about the Packages mailing list