Eliot Miranda uploaded a new version of VMMakerUI to project VM Maker: http://source.squeak.org/VMMaker/VMMakerUI-eem.42.mcz
==================== Summary ====================
Name: VMMakerUI-eem.42 Author: eem Time: 31 July 2021, 4:16:47.512835 pm UUID: 2760ca32-e892-4ce6-82bf-fcae360134ef Ancestors: VMMakerUI-eem.41
More robustness for updating in the presense of first version packages.
=============== Diff against VMMakerUI-eem.41 ===============
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])] 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 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 succesful.<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: [updateInfo first isArray ifFalse: [s print: updateInfo first versionNumber]]. - 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%27%7D). ]. self inform: message asTextFromHtml.!
vm-dev@lists.squeakfoundation.org