The Trunk: Monticello-bf.540.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-bf.540.mcz

commits-2
Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-bf.540.mcz

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

Name: Monticello-bf.540
Author: bf
Time: 4 May 2013, 8:13:11.165 pm
UUID: b8904753-a5e5-4061-a912-49480229e91a
Ancestors: Monticello-fbs.539

Add MCReorganizationPreloader which can resolve moves between arbitrary packages.

=============== Diff against Monticello-fbs.539 ===============

Item was added:
+ Object subclass: #MCReorganizationPreloader
+ instanceVariableNames: 'preloads previousRemovals currentRemovals'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Monticello-Loading'!

Item was added:
+ ----- Method: MCReorganizationPreloader class>>preloadMovesBetween: (in category 'loading') -----
+ preloadMovesBetween: versions
+ | loader |
+ loader := self new.
+ versions do: [ :version |
+ loader addVersion: version].
+ ^ loader preload!

Item was added:
+ ----- Method: MCReorganizationPreloader>>addDefinition: (in category 'patch ops') -----
+ addDefinition: new
+ previousRemovals definitionLike: new
+ ifPresent: [ :old | preloads add: (MCModification of: old to: new) ]
+ ifAbsent: [ "ignore" ].
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>addVersion: (in category 'accessing') -----
+ addVersion: aVersion
+ | patch |
+ previousRemovals addAll: currentRemovals definitions.
+ currentRemovals := MCDefinitionIndex new.
+ patch := aVersion canOptimizeLoading
+ ifTrue: [aVersion patch]
+ ifFalse: [aVersion snapshot patchRelativeToBase: aVersion package snapshot].
+ patch applyTo: self.
+
+
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>initialize (in category 'initialize-release') -----
+ initialize
+ preloads := Set new.
+ previousRemovals := MCDefinitionIndex new.
+ currentRemovals := MCDefinitionIndex new.
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>modifyDefinition:to: (in category 'patch ops') -----
+ modifyDefinition: old to: new
+ "ignore"!

Item was added:
+ ----- Method: MCReorganizationPreloader>>preload (in category 'loading') -----
+ preload
+ | loader |
+ loader := MCPackageLoader new.
+ (MCPatch operations: preloads) applyTo: loader.
+ loader loadWithNameLike: 'mcPreload'.
+ !

Item was added:
+ ----- Method: MCReorganizationPreloader>>removeDefinition: (in category 'patch ops') -----
+ removeDefinition: old
+ currentRemovals add: old.
+ !