[squeak-dev] The Inbox: Installer-Core-cmm.427.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Nov 9 19:46:45 UTC 2018


Chris Muller uploaded a new version of Installer-Core to project The Inbox:
http://source.squeak.org/inbox/Installer-Core-cmm.427.mcz

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

Name: Installer-Core-cmm.427
Author: cmm
Time: 9 November 2018, 1:46:00.513629 pm
UUID: 080be346-3724-453d-ab98-190199cc236f
Ancestors: Installer-Core-cmm.424

If an explicit MC version is specified for Installer, load that version. Otherwise load the most recent version of the applicable package or package branch.

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

Item was removed:
- ----- Method: InstallerMonticello>>mcDetectFileBlock: (in category 'monticello') -----
- mcDetectFileBlock: pkg
- 
- 	pkg isString ifTrue: [  ^ [ :aMCVersionName |
- 			(pkg beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: pkg ] ] ].
- 
- 	(pkg isKindOf: Array) 
- 			ifTrue: [  ^  [ :aMCVersionName | pkg anySatisfy: [ :item |
- 						(item beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: item ] ] ] ].
- 
- 	pkg isBlock ifTrue: [ ^ pkg ].
-  !

Item was changed:
  ----- Method: InstallerMonticello>>mcThing (in category 'monticello') -----
  mcThing
  	| loader |
  	loader := self classMCVersionLoader new.
  
  	"several attempts to read files - repository readableFileNames
  	sometimes fails"
  	self packages
+ 		do: [:pkg |
+ 			| mcVersion versionNames sortedVersions fileToLoad version |
+ 			mcVersion := pkg asMCVersionName .
- 		do: [:pkg | 
- 			| versionNames fileToLoad version |
  			versionNames := mc versionNamesForPackageNamed:
+ 				(mcVersion versionNumber = 0 
- 				(pkg asMCVersionName versionNumber = 0 
  					ifTrue: [ "Just a package name specified, use it whole." pkg ] 
+ 					ifFalse: [mcVersion packageName]).
+ 			sortedVersions := versionNames sorted: self mcSortFileBlock.
+ 			fileToLoad := self versionToLoad: mcVersion fromVersions: sortedVersions.
- 					ifFalse: [pkg asMCVersionName packageName]).
- 			fileToLoad := (versionNames sorted: self mcSortFileBlock)
- 						detect: (self mcDetectFileBlock: pkg)
- 						ifNone: [ nil ].
  			fileToLoad
  				ifNotNil: [version := mc versionNamed: fileToLoad.
  					(version isKindOf: MCConfiguration)
  						ifTrue: [^ version]
  						ifFalse: [self normalizedRepositories do: [:repo |
  								MCRepositoryGroup default addRepository: repo].
  							self normalizedRepositories do: [:repo |
  								version workingCopy repositoryGroup addRepository: repo].
  							loader addVersion: version].
  					self logCR: ' found ' , version fileName , '...']].
  	^ loader!

Item was added:
+ ----- Method: InstallerMonticello>>versionToLoad:fromVersions: (in category 'monticello') -----
+ versionToLoad: mcVersion fromVersions: sortedVersions
+ 	"From a list of sortedVersions, answer the most recent version or the
+ 	exact version if explicitly specified."
+ 	^ sortedVersions
+ 		detect: [:aMCVersionName | aMCVersionName = mcVersion "explicit version specified"]
+ 		ifNone: [sortedVersions
+ 				detect: [:aMCVersionName | (mcVersion beginsWith: aMCVersionName packageAndBranchName)
+ 						and: [aMCVersionName beginsWith: mcVersion "most recent version that matches"]]
+ 				ifNone: []]!



More information about the Squeak-dev mailing list