<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
<img id="b4a77258-29a8-4f3c-816b-dfa5c217fd7c" src="cid:70bc27b1-f19f-4df8-b503-d24369e0f7e5" width="293" height="196"></img><br><div class="mb_sig"></div><blockquote class='history_container' type='cite' style='border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;'>
<p style='color: #AAAAAA; margin-top: 10px;'>Am 06.07.2021 18:28:57 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style='font-family:Arial,Helvetica,sans-serif'> <br>Marcel Taeumel uploaded a new version of VMMakerUI to project VM Maker:<br>http://source.squeak.org/VMMaker/VMMakerUI-mt.39.mcz<br><br>==================== Summary ====================<br><br>Name: VMMakerUI-mt.39<br>Author: mt<br>Time: 6 July 2021, 6:28:49.096706 pm<br>UUID: 7957bd9a-fdbe-964b-8972-d4a4c3579eb4<br>Ancestors: VMMakerUI-mt.38<br><br>Adds more information to the update dialog. It now looks similar to the one for Squeak itself.<br><br>=============== Diff against VMMakerUI-mt.38 ===============<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusBadgeUrl (in category '*VMMakerUI-updater') -----<br>+ osvm_AppVeyor_statusBadgeUrl<br>+ <br>+ ^ 'https://ci.appveyor.com/api/projects/status/ecrpcrqt844n8lkm/branch/Cog'!<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusPageUrl (in category '*VMMakerUI-updater') -----<br>+ osvm_AppVeyor_statusPageUrl<br>+ <br>+ ^ 'https://ci.appveyor.com/project/OpenSmalltalk/vm/branch/Cog'!<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusTimestamp (in category '*VMMakerUI-updater') -----<br>+ osvm_AppVeyor_statusTimestamp<br>+ <br>+ | url stamp dateAndTime |<br>+ url := 'https://ci.appveyor.com/api/projects/OpenSmalltalk/vm/branch/Cog'.<br>+ stamp := ((WebUtils jsonDecode: (WebClient httpGet: url) content readStream) at: 'build') at: 'finished'.<br>+ stamp ifEmpty: [^ stamp].<br>+ dateAndTime := DateAndTime readFrom: stamp readStream.<br>+ ^ String streamContents: [:s |<br>+ dateAndTime asDate = Date today<br>+ ifTrue: [s nextPutAll: 'Today' translated, ',']<br>+ ifFalse: [dateAndTime asDate = Date yesterday<br>+ ifTrue: [s nextPutAll: 'Yesterday' translated, ',']<br>+ ifFalse: [dateAndTime printYMDOn: s]].<br>+ s space.<br>+ dateAndTime printHMSOn: s]!<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusBadgeUrl (in category '*VMMakerUI-updater') -----<br>+ osvm_TravisCI_statusBadgeUrl<br>+ <br>+ ^ 'https://api.travis-ci.com/OpenSmalltalk/opensmalltalk-vm.png?branch=Cog'!<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusPageUrl (in category '*VMMakerUI-updater') -----<br>+ osvm_TravisCI_statusPageUrl<br>+ <br>+ ^ 'https://travis-ci.com/OpenSmalltalk/opensmalltalk-vm'!<br><br>Item was added:<br>+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusTimestamp (in category '*VMMakerUI-updater') -----<br>+ osvm_TravisCI_statusTimestamp<br>+ <br>+ | stamp " 'Mon, 05 Jul 2021 17:52:11 GMT' " dateAndTime |<br>+ stamp := (WebClient httpGet: self osvm_TravisCI_statusBadgeUrl) headerAt: 'last-modified'.<br>+ stamp ifEmpty: [^ stamp].<br>+ dateAndTime := DateAndTime readFrom: (((stamp allButFirst: 4) allButLast: 4), ' Z') readStream.<br>+ ^ String streamContents: [:s |<br>+ dateAndTime asDate = Date today<br>+ ifTrue: [s nextPutAll: 'Today' translated, ',']<br>+ ifFalse: [dateAndTime asDate = Date yesterday<br>+ ifTrue: [s nextPutAll: 'Yesterday' translated, ',']<br>+ ifFalse: [dateAndTime printYMDOn: s]].<br>+ s space.<br>+ dateAndTime printHMSOn: s]!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>updateVMMaker (in category '*VMMakerUI-updater') -----<br> updateVMMaker<br> <updater: 'update="" vmmaker'=""><br> <br>+ | updater history message |<br>- | updater |<br> updater := MCMcmUpdater<br> updateMapNamed: 'update.oscog'<br> repository: 'http://source.squeak.org/VMMaker'.<br> updater lastUpdateMap ifEmpty: [<br> "If this is the first time that you use the updater, start at 5.mcm to avoid loading old code."<br> updater lastUpdateMap at: updater repository put: 5].<br>+ <br>+ history := updater dependentPackages<br>+ collect: [:package | package name -> package workingCopy ancestors first]<br>+ as: OrderedDictionary.<br>+ <br>+ updater doUpdate: false.<br>+ <br>+ "Set update history to the packages that actually changed."<br>+ updater dependentPackages do: [:package | | oldVersionInfo newVersionInfo |<br>+ oldVersionInfo := history at: package name ifAbsent: [].<br>+ newVersionInfo := package workingCopy ancestors first.<br>+ (oldVersionInfo ifNil: [0] ifNotNil: [:v | v versionNumber]) < newVersionInfo versionNumber<br>+ ifTrue: [history at: package name put: {oldVersionInfo. newVersionInfo}]<br>+ ifFalse: [history removeKey: package name]].<br>+ <br>+ "Prepare message, including the update history and OSVM ci badges."<br>+ message := String streamContents: [:s |<br>+ s nextPutAll: 'VMMaker update succesfully.<br><br>'.<br>+ history<br>+ ifEmpty: [s nextPutAll: 'All packages were already up-to-date.']<br>+ ifNotEmpty: [s nextPutAll: 'Updated packages:'].<br>+ history keysAndValuesDo: [:packageName :updateInfo |<br>+ s nextPutAll: '<br> - '.<br>+ s nextPutAll: packageName; space.<br>+ updateInfo isArray<br>+ ifFalse: [s nextPutAll: '*removed*' translated]<br>+ ifTrue: [<br>+ updateInfo first<br>+ ifNil: [s nextPutAll: '*added*' translated]<br>+ ifNotNil: [s print: updateInfo first versionNumber].<br>+ s nextPutAll: ' -> <b>'.<br>+ s print: updateInfo second versionNumber.<br>+ s nextPutAll: '</b>']].<br>+ s nextPutAll: ('<br><br>Url: <a href="{1}">{1}</a>' format: {updater repository}).<br>+ s nextPutAll: '<br>Map: '; print: updater updateMapName.<br>+ <br>+ s nextPutAll: ('<br><br>TravisCI status: <a href="{1}"><img></img> {3}</a>'<br>+ format: {<br>+ self osvm_TravisCI_statusPageUrl.<br>+ self osvm_TravisCI_statusBadgeUrl.<br>+ self osvm_TravisCI_statusTimestamp}).<br>+ s nextPutAll: ('<br>AppVeyor status: <a href="{1}"><img></img> {3}</a>'<br>+ format: {<br>+ self osvm_AppVeyor_statusPageUrl.<br>+ self osvm_AppVeyor_statusBadgeUrl.<br>+ self osvm_AppVeyor_statusTimestamp}).<br>+ <br>+ 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'}).<br>+ <br>+ ].<br>+ self inform: message asTextFromHtml.!<br>- updater doUpdate: true.!<br><br></updater:></div></blockquote>
</div></body>