<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
<img id="75cd41f8-a13d-4d6d-8549-4b3241440679" src="cid:6cfb52a6-5446-4390-a653-ee1e96a3cac7" width="269" height="316"></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 11.04.2022 10:25:35 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.57.mcz<br><br>==================== Summary ====================<br><br>Name: VMMakerUI-mt.57<br>Author: mt<br>Time: 11 April 2022, 10:25:28.069975 am<br>UUID: f752708f-00fc-fe4e-b082-82981358e1be<br>Ancestors: VMMakerUI-eem.56<br><br>Updates the update dialog:<br>- More compact badges<br>- More compact date-and-time display of last build<br>- Add macOS ARM builds<br><br>=============== Diff against VMMakerUI-eem.56 ===============<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>osvm_GitHubActions_statusBadgeUrl: (in category '*VMMakerUI-updater') -----<br> osvm_GitHubActions_statusBadgeUrl: workflowName<br> <br> | id |<br> id := workflowName encodeForHTTP.<br>+ ^ 'https://raster.shields.io/github/workflow/status/OpenSmalltalk/opensmalltalk-vm/{1}?style=flat&logo=github&label='<br>- ^ 'https://raster.shields.io/github/workflow/status/OpenSmalltalk/opensmalltalk-vm/{1}?style=flat&logo=github'<br> format: {id}!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>osvm_GitHubActions_statusTimestamp: (in category '*VMMakerUI-updater') -----<br> osvm_GitHubActions_statusTimestamp: workflow<br> "Slow. Fetch HTML page, extract first occurrence of<br> ... <time-ago datetime='2021-08-04T14:24:20Z' ...=""></time-ago><br> <br> | statusPage begin end dateAndTime |<br> statusPage := (WebClient httpGet: (self osvm_GitHubActions_statusPageUrl: workflow)) content.<br> begin := statusPage findString: 'datetime' startingAt: 100000. "Skip the first X bytes decoration."<br> end := statusPage findString: 'Z' startingAt: begin.<br> dateAndTime := DateAndTime readFrom: (statusPage copyFrom: begin + 10 to: end) 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 respondsTo: #printHMOn:)<br>+ ifTrue: [dateAndTime printHMOn: s]<br>+ ifFalse: [dateAndTime printHMSOn: s] ]!<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 := 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<br> "N.B. the first version in a package's history will have empty ancestors."<br> ifEmpty: [nil] ifNotEmpty: [:ancestors| 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: [oldVersionInfo 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 succesful.<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>+ #('macOS (x86)' macos 'Build for macOS'<br>+ 'macOS (ARM)' 'macos-arm' 'Build for macOS (ARM)'<br>- #('macOS' macos 'Build for macOS'<br> 'Windows' win 'Build for Windows'<br> 'Linux (x86)' linux 'Build for Linux (x86)'<br> 'Linux (ARM)' 'linux-arm' 'Build for Linux (ARM)')<br> groupsDo: [:label :workflow :workflowName |<br>+ s nextPutAll: ('<br><a href="{2}"><img></img> {4}</a> {1}'<br>- s nextPutAll: ('<br>{1} status: <a href="{2}"><img></img> {4}</a>'<br> format: {<br> label.<br> self osvm_GitHubActions_statusPageUrl: workflow.<br> self osvm_GitHubActions_statusBadgeUrl: workflowName.<br> self osvm_GitHubActions_statusTimestamp: workflow})].<br> <br>+ s nextPutAll: ('<br><br>Note that updated platform sources might be available, too: <a href="{1}">{1}</a>' format: {'https://github.com/OpenSmalltalk/opensmalltalk-vm'}).<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><br></updater:></div></blockquote>
</div></body>