[Vm-dev] VM Maker: VMMakerUI-mt.39.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 6 16:28:50 UTC 2021


Marcel Taeumel uploaded a new version of VMMakerUI to project VM Maker:
http://source.squeak.org/VMMaker/VMMakerUI-mt.39.mcz

==================== Summary ====================

Name: VMMakerUI-mt.39
Author: mt
Time: 6 July 2021, 6:28:49.096706 pm
UUID: 7957bd9a-fdbe-964b-8972-d4a4c3579eb4
Ancestors: VMMakerUI-mt.38

Adds more information to the update dialog. It now looks similar to the one for Squeak itself.

=============== Diff against VMMakerUI-mt.38 ===============

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusBadgeUrl (in category '*VMMakerUI-updater') -----
+ osvm_AppVeyor_statusBadgeUrl
+ 
+ 	^ 'https://ci.appveyor.com/api/projects/status/ecrpcrqt844n8lkm/branch/Cog'!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusPageUrl (in category '*VMMakerUI-updater') -----
+ osvm_AppVeyor_statusPageUrl
+ 
+ 	^ 'https://ci.appveyor.com/project/OpenSmalltalk/vm/branch/Cog'!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_AppVeyor_statusTimestamp (in category '*VMMakerUI-updater') -----
+ osvm_AppVeyor_statusTimestamp
+ 
+ 	| url stamp  dateAndTime |
+ 	url := 'https://ci.appveyor.com/api/projects/OpenSmalltalk/vm/branch/Cog'.
+ 	stamp := ((WebUtils jsonDecode: (WebClient httpGet: url) content readStream) at: 'build') at: 'finished'.
+ 	stamp ifEmpty: [^ stamp].
+ 	dateAndTime := DateAndTime readFrom: stamp readStream.
+ 	^ String streamContents: [:s |
+ 		dateAndTime asDate = Date today
+ 			ifTrue: [s nextPutAll: 'Today' translated, ',']
+ 			ifFalse: [dateAndTime asDate = Date yesterday
+ 				ifTrue: [s nextPutAll: 'Yesterday' translated, ',']
+ 				ifFalse: [dateAndTime printYMDOn: s]].
+ 		s space.
+ 		dateAndTime printHMSOn: s]!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusBadgeUrl (in category '*VMMakerUI-updater') -----
+ osvm_TravisCI_statusBadgeUrl
+ 
+ 	^ 'https://api.travis-ci.com/OpenSmalltalk/opensmalltalk-vm.png?branch=Cog'!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusPageUrl (in category '*VMMakerUI-updater') -----
+ osvm_TravisCI_statusPageUrl
+ 
+ 	^ 'https://travis-ci.com/OpenSmalltalk/opensmalltalk-vm'!

Item was added:
+ ----- Method: TheWorldMainDockingBar>>osvm_TravisCI_statusTimestamp (in category '*VMMakerUI-updater') -----
+ osvm_TravisCI_statusTimestamp
+ 
+ 	| stamp " 'Mon, 05 Jul 2021 17:52:11 GMT' " dateAndTime |
+ 	stamp := (WebClient httpGet: self osvm_TravisCI_statusBadgeUrl) headerAt: 'last-modified'.
+ 	stamp ifEmpty: [^ stamp].
+ 	dateAndTime := DateAndTime readFrom: (((stamp allButFirst: 4) allButLast: 4), ' Z') readStream.
+ 	^ String streamContents: [:s |
+ 		dateAndTime asDate = Date today
+ 			ifTrue: [s nextPutAll: 'Today' translated, ',']
+ 			ifFalse: [dateAndTime asDate = Date yesterday
+ 				ifTrue: [s nextPutAll: 'Yesterday' translated, ',']
+ 				ifFalse: [dateAndTime printYMDOn: s]].
+ 		s space.
+ 		dateAndTime printHMSOn: s]!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>updateVMMaker (in category '*VMMakerUI-updater') -----
  updateVMMaker
  	<updater: 'Update VMMaker'>
  
+ 	| updater history message |
- 	| updater |
  	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 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.
+ 		(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.!
- 	updater doUpdate: true.!



More information about the Vm-dev mailing list