[Pkg] The Trunk: MonticelloConfigurations-ar.70.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 27 14:06:07 UTC 2009


Andreas Raab uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-ar.70.mcz

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

Name: MonticelloConfigurations-ar.70
Author: ar
Time: 27 December 2009, 3:05:58 am
UUID: 103f90ca-b18b-854e-9521-cc858e600f09
Ancestors: MonticelloConfigurations-nice.69

Faster initial feedback when updating.

=============== Diff against MonticelloConfigurations-nice.69 ===============

Item was changed:
  ----- Method: MCMcmUpdater class>>updateFromRepositories: (in category 'updating') -----
  updateFromRepositories: repositoryUrls
  	"MCMcmUpdater updateFromRepositories: #(
  		'http://squeaksource.com/MCUpdateTest'
  	)"
  
  	| repos config |
  	Preferences enable: #upgradeIsMerge.
  	LastUpdateMap ifNil:[LastUpdateMap := Dictionary new].
  	"The list of repositories to consult in order"
  	repos := repositoryUrls collect:[:url| 
  		MCRepositoryGroup default repositories 
  			detect:[:r| r description = url]
  			ifNone:[ | r |
  				r := MCHttpRepository location: url user: '' password: ''.
  				MCRepositoryGroup default addRepository: r.
  				r]].
  
  	"The list of updates-author.version.mcm sorted by version"
+ 	repos do:[:r| | minVersion updateList allNames |
- 	repos do:[:r| | minVersion updateList |
  		updateList := SortedCollection new.
  		minVersion := LastUpdateMap at: r description ifAbsent:[0].
  		"Find all the updates-author.version.mcm files"
+ 		'Checking ', r description
+ 			displayProgressAt: Sensor cursorPoint
+ 			from: 0 to: 1 during:[:bar| 
+ 				bar value: 0.
+ 				allNames := r allFileNames.
+ 			].
+ 		allNames do:[:versionedName| | version base parts author type |
- 		r allFileNames do:[:versionedName| | version base parts author type |
  			parts := versionedName findTokens: '.-'.
  			parts size = 4 ifTrue:[
  				base := parts at: 1.
  				author := parts at: 2.
  				version := [(parts at: 3) asNumber] on: Error do:[:ex| ex return: 0].
  				type := parts at: 4.
  			].
  			(base = 'update' and:[version >= minVersion and:[type = 'mcm']]) 
  				ifTrue:[updateList add: version -> versionedName]].
  		
  		"Proceed only if there are updates available at all."
  		updateList ifNotEmpty: [
  			"Now process each update file. Check if we have all dependencies and if not,
  			load the entire configuration (this is mostly to skip older updates quickly)"
  			updateList do:[:assoc|
  				ProgressNotification signal: '' extra: 'Processing ', assoc value.
  				config := r versionFromFileNamed: assoc value.
  				(config dependencies allSatisfy:[:dep| dep isFulfilled]) 
  					ifFalse:[config upgrade].
  				LastUpdateMap at: r description put: assoc key.
  			] displayingProgress: 'Processing configurations'.
  			"We've loaded all the provided update configurations.
  			Use the latest configuration to update all the remaining packages."
  			config updateFromRepositories.
  			config upgrade.
  		].
  	].
  	^config!



More information about the Packages mailing list