The Inbox: MonticelloConfigurations-cbc.81.mcz

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

The Inbox: MonticelloConfigurations-cbc.81.mcz

commits-2
A new version of MonticelloConfigurations was added to project The Inbox:
http://source.squeak.org/inbox/MonticelloConfigurations-cbc.81.mcz

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

Name: MonticelloConfigurations-cbc.81
Author: cbc
Time: 25 August 2010, 10:33:05.199 am
UUID: 00e8fa67-b05c-4244-8d31-82f2c6ed4823
Ancestors: MonticelloConfigurations-cbc.80

Renamed selectors for removing packages for automatic update and adding them back in: #disableUpdatesOfPackage: and #enableUpdatesOfPackage:, respectively.
Also, fixed logic error.

=============== Diff against MonticelloConfigurations-cbc.80 ===============

Item was added:
+ ----- Method: MCMcmUpdater class>>disableUpdatesOfPackage: (in category 'updating') -----
+ disableUpdatesOfPackage: packageName
+ self skipPackages add: packageName!

Item was added:
+ ----- Method: MCMcmUpdater class>>enableUpdatesForAllPackages (in category 'updating') -----
+ enableUpdatesForAllPackages
+ SkipPackages := Set new!

Item was added:
+ ----- Method: MCMcmUpdater class>>enableUpdatesOfPackage: (in category 'updating') -----
+ enableUpdatesOfPackage: packageName
+ self skipPackages remove: packageName ifAbsent: [].!

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| r cacheAllFileNamesDuring:[
  | minVersion updateList allNames |
  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 |
  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.
  "Skip packages that were specifically unloaded"
  config dependencies: (config dependencies
+ reject: [:dep| self skipPackages includes: dep package name]).
- select:[:dep| self skipPackages includes: dep package name.]).
  self updateMissingPackages ifFalse:[
  "Skip packages that are not in the image"
  config dependencies: (config dependencies
+ select: [:dep| dep package hasWorkingCopy])].
- select:[:dep| dep package hasWorkingCopy])].
  (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!

Item was removed:
- ----- Method: MCMcmUpdater class>>startLoading: (in category 'updating') -----
- startLoading: packageName
- self skipPackages remove: packageName ifAbsent: [].!

Item was removed:
- ----- Method: MCMcmUpdater class>>skipLoading: (in category 'updating') -----
- skipLoading: packageName
- self skipPackages add: packageName!