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! |
Free forum by Nabble | Edit this page |