The Trunk: Monticello-ar.347.mcz

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

The Trunk: Monticello-ar.347.mcz

commits-2
Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.347.mcz

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

Name: Monticello-ar.347
Author: ar
Time: 30 December 2009, 5:25:47 am
UUID: f5913c41-3f80-e44c-b1a6-e04e9a18b30d
Ancestors: Monticello-ar.346

Have MCPackageLoader use the best guess about the package being installed in progress notifications.

=============== Diff against Monticello-ar.346 ===============

Item was changed:
  ----- Method: MCPackageLoader>>basicLoad (in category 'private') -----
  basicLoad
+ "Load the contents of some package. This is the core loading method
+ in Monticello. Be wary about modifying it unless you understand the details
+ and dependencies of the various entities being modified."
+ | pkgName |
  errorDefinitions := OrderedCollection new.
+ "Obviously this isn't the package name but we don't have anything else
+ to use here. ChangeSet current name will generally work since a CS is
+ usually installed prior to installation."
+ pkgName := ChangeSet current name.
- [["Pass 1: Load everything but the methods,  which are collected in methodAdditions."
- additions do: [:ea |
- [ea isMethodDefinition
- ifTrue:[methodAdditions add: ea asMethodAddition]
- ifFalse:[ea load]]on: Error do: [errorDefinitions add: ea].
- ] displayingProgress: 'Reshaping classes...'.
-
- "Pass 2: We compile new / changed methods"
- methodAdditions do:[:ea| ea createCompiledMethod] displayingProgress: 'Compiling...'.
-
- 'Installing...' displayProgressAt: Sensor cursorPoint from: 0 to: 2 during:[:bar|
- "There is progress *during* installation since a progress bar update
- will redraw the world and potentially call methods that we're just trying to install."
- bar value: 1.
-
- "Pass 3: Install the new / changed methods
- (this is a separate pass to allow compiler changes to be loaded)"
- methodAdditions do:[:ea| ea installMethod].
-
- "Pass 4: Remove the obsolete methods"
- removals do:[:ea| ea unload].
- ].
-
- "Try again any delayed definitions"
- self shouldWarnAboutErrors ifTrue: [self warnAboutErrors].
- errorDefinitions do: [:ea | ea load] displayingProgress: 'Reloading...'.
-
- "Finally, notify observers for the method additions"
- methodAdditions do: [:each | each notifyObservers]
- "the message is fake but actually telling people how much time we spend
- in the notifications is embarrassing so lie instead"
- displayingProgress: 'Installing...'.
 
+ [["Pass 1: Load everything but the methods,  which are collected in methodAdditions."
+ additions do: [:ea |
+ [ea isMethodDefinition
+ ifTrue:[methodAdditions add: ea asMethodAddition]
+ ifFalse:[ea load]]on: Error do: [errorDefinitions add: ea].
+ ] displayingProgress: 'Reshaping ', pkgName.
+
+ "Pass 2: We compile new / changed methods"
+ methodAdditions do:[:ea| ea createCompiledMethod]
+ displayingProgress: 'Compiling ', pkgName.
+
+ 'Installing ', pkgName displayProgressAt: Sensor cursorPoint from: 0 to: 2 during:[:bar|
+ "There is no progress *during* installation since a progress bar update
+ will redraw the world and potentially call methods that we're just trying to install."
+ bar value: 1.
+
+ "Pass 3: Install the new / changed methods
+ (this is a separate pass to allow compiler changes to be loaded)"
+ methodAdditions do:[:ea| ea installMethod].
+
+ "Pass 4: Remove the obsolete methods"
+ removals do:[:ea| ea unload].
+ ].
+
+ "Try again any delayed definitions"
+ self shouldWarnAboutErrors ifTrue: [self warnAboutErrors].
+ errorDefinitions do: [:ea | ea load]
+ displayingProgress: 'Reloading ', pkgName.
+
+ "Finally, notify observers for the method additions"
+ methodAdditions do: [:each | each notifyObservers]
+ "the message is fake but actually telling people how much time we spend
+ in the notifications is embarrassing so lie instead"
+ displayingProgress: 'Installing ', pkgName.
+
+ additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)]
+ displayingProgress: 'Initializing ', pkgName.
+
- additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)] displayingProgress: 'Initializing...'
  ] on: InMidstOfFileinNotification do: [:n | n resume: true]
  ] ensure: [self flushChangesFile]!