[Vm-dev] VM Maker: VMMakerUI-eem.40.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jul 28 18:36:39 UTC 2021
Eliot Miranda uploaded a new version of VMMakerUI to project VM Maker:
http://source.squeak.org/VMMaker/VMMakerUI-eem.40.mcz
==================== Summary ====================
Name: VMMakerUI-eem.40
Author: eem
Time: 28 July 2021, 11:36:38.327535 am
UUID: fab76b52-c52f-424a-89ac-7ca19df238d1
Ancestors: VMMakerUI-mt.39
Robustness for the fabulous updateVMMaker. The first version of a package will have empty ancestors.
=============== Diff against VMMakerUI-mt.39 ===============
Item was changed:
----- Method: TheWorldMainDockingBar>>updateVMMaker (in category '*VMMakerUI-updater') -----
updateVMMaker
<updater: 'Update VMMaker'>
| updater history message |
updater := MCMcmUpdater
updateMapNamed: 'update.oscog'
repository: 'http://source.squeak.org/VMMaker'.
updater lastUpdateMap ifEmpty: [
"If this is the first time that you use the updater, start at 5.mcm to avoid loading old code."
updater lastUpdateMap at: updater repository put: 5].
history := updater dependentPackages
+ collect: [:package | package name -> (package workingCopy ancestors ifNotEmpty: [:ancestors| ancestors first])]
- collect: [:package | package name -> package workingCopy ancestors first]
as: OrderedDictionary.
updater doUpdate: false.
"Set update history to the packages that actually changed."
updater dependentPackages do: [:package | | oldVersionInfo newVersionInfo |
oldVersionInfo := history at: package name ifAbsent: [].
newVersionInfo := package workingCopy ancestors first.
+ "N.B. the first version in a package's history will have empty ancestors.
+ oldVersionInfo basicSize = 0 is true for these as well as nil."
+ (oldVersionInfo basicSize = 0 ifTrue: [0] ifFalse: [oldVersionInfo versionNumber]) < newVersionInfo versionNumber
- (oldVersionInfo ifNil: [0] ifNotNil: [:v | v versionNumber]) < newVersionInfo versionNumber
ifTrue: [history at: package name put: {oldVersionInfo. newVersionInfo}]
ifFalse: [history removeKey: package name]].
"Prepare message, including the update history and OSVM ci badges."
message := String streamContents: [:s |
s nextPutAll: 'VMMaker update succesfully.<br><br>'.
history
ifEmpty: [s nextPutAll: 'All packages were already up-to-date.']
ifNotEmpty: [s nextPutAll: 'Updated packages:'].
history keysAndValuesDo: [:packageName :updateInfo |
s nextPutAll: '<br> - '.
s nextPutAll: packageName; space.
updateInfo isArray
ifFalse: [s nextPutAll: '*removed*' translated]
ifTrue: [
updateInfo first
ifNil: [s nextPutAll: '*added*' translated]
ifNotNil: [s print: updateInfo first versionNumber].
s nextPutAll: ' -> <b>'.
s print: updateInfo second versionNumber.
s nextPutAll: '</b>']].
s nextPutAll: ('<br><br>Url: <a href="{1}">{1}</a>' format: {updater repository}).
s nextPutAll: '<br>Map: '; print: updater updateMapName.
s nextPutAll: ('<br><br>TravisCI status: <a href="{1}"><img src="{2}" /> {3}</a>'
format: {
self osvm_TravisCI_statusPageUrl.
self osvm_TravisCI_statusBadgeUrl.
self osvm_TravisCI_statusTimestamp}).
s nextPutAll: ('<br>AppVeyor status: <a href="{1}"><img src="{2}" /> {3}</a>'
format: {
self osvm_AppVeyor_statusPageUrl.
self osvm_AppVeyor_statusBadgeUrl.
self osvm_AppVeyor_statusTimestamp}).
s nextPutAll: ('<br><br>NOTE THAT updated platform sources might be available, too:<br> -> <a href="{1}">{1}</a>' format: {'https://github.com/OpenSmalltalk/opensmalltalk-vm'}).
].
self inform: message asTextFromHtml.!
More information about the Vm-dev
mailing list