The Trunk: Installer-Core-cmm.393.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Installer-Core-cmm.393.mcz

commits-2
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 ] ]!