[squeak-dev] The Inbox: MonticelloConfigurations-bf.152.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Apr 5 14:49:24 UTC 2017
A new version of MonticelloConfigurations was added to project The Inbox:
http://source.squeak.org/inbox/MonticelloConfigurations-bf.152.mcz
==================== Summary ====================
Name: MonticelloConfigurations-bf.152
Author: bf
Time: 5 April 2017, 4:49:13.051869 pm
UUID: e3104caa-ad4e-4ea5-bf42-eb0b004442dc
Ancestors: MonticelloConfigurations-bf.151
Suppress even more progress during version load
=============== Diff against MonticelloConfigurations-ul.150 ===============
Item was changed:
----- Method: MCConfiguration>>depsSatisfying:versionDo:displayingProgress: (in category 'private') -----
depsSatisfying: selectBlock versionDo: verBlock displayingProgress: progressString
| count selectedVersions cleanWorkingCopies |
self cacheAllFileNamesDuring: [
self repositories do: [ :eachRepository |
MCRepositoryGroup default addRepository: eachRepository ].
"First, download selected versions"
count := 0.
selectedVersions := OrderedCollection new.
self withProgress: progressString in: self dependencies do: [ :dep | | verName repo |
verName := dep versionInfo name.
self class extraProgressInfo ifTrue:
[ ProgressNotification signal: '' extra: 'Downloading ' , verName ].
repo := self repositories
detect: [ :eachRepository | eachRepository includesVersionNamed: verName ]
ifNone: [ self logError: 'Version ' , verName , ' not found in any repository'.
self logError: 'Aborting'.
^ count ].
(selectBlock value: dep) ifTrue: [ | version |
version := self versionNamed: verName for: dep from: repo.
version ifNil: [ self logError: 'Could not download version ' , verName , ' from ' , repo description.
self logError: 'Aborting'.
^ count ].
dep package workingCopy newRepositoryGroupIfDefault. "fix old working copies"
dep package workingCopy repositoryGroup addRepository: repo.
selectedVersions add: version]].
"Then, process only those definitions that moved from one package to another, to avoid order dependence"
cleanWorkingCopies := MCWorkingCopy allManagers reject: [ :wc | wc modified ].
MCReorganizationPreloader preloadMovesBetween: selectedVersions.
"Finally, load/merge selected versions"
self withProgress: progressString in: selectedVersions do: [ :version |
self logUpdate: version package with: version.
self class extraProgressInfo ifTrue:
[ ProgressNotification signal: '' extra: 'Installing ' , version info name ].
+ self noProgressDuring: [verBlock value: version].
- verBlock value: version.
count := count + 1 ].
"Clean up packages made dirty by MCReorganizationPreloader"
cleanWorkingCopies do: [ :wc | wc modified ifTrue: [[wc checkModified] on: Error do: [:ex | self logWarning: ex description] ]].
].
^ count!
Item was added:
+ ----- Method: MCConfiguration>>noProgressDuring: (in category 'private') -----
+ noProgressDuring: block
+ ^block
+ on: ProgressInitiationException
+ do: [ :ex | ex sendNotificationsTo: [ :min :max :curr | "ignore" ] ]
+ on: ProgressNotification
+ do: [ :ex | ex resume ]!
More information about the Squeak-dev
mailing list
|