[squeak-dev] The Trunk: ReleaseBuilder-mt.194.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jan 22 12:54:52 UTC 2019


Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.194.mcz

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

Name: ReleaseBuilder-mt.194
Author: mt
Time: 22 January 2019, 1:54:52.748809 pm
UUID: d8d38edc-1fc5-7442-b1aa-cd69c2047a6b
Ancestors: ReleaseBuilder-mt.193

Addition to Kernel-mt.1211

1) Adds hook to ReleaseBuilder to manage/prepare processes.
2) Adds special save-and-quit to ReleaseBuilder, which restarts the UI process.

Note: We still have to adapt our Travis/smalltalkCI script to make use of UI-process restart. See the discussion about wrong source pointers: http://forum.world.st/Re-Wrong-method-source-pointer-in-Squeak5-2-tp5093412.html

=============== Diff against ReleaseBuilder-mt.193 ===============

Item was added:
+ ----- Method: ReleaseBuilder class>>prepareProcesses (in category 'preparing') -----
+ prepareProcesses
+ 	"Re-start running processes if necessary. Call this at late as possible in the release process. Only required to processes that are not reset at image #startUp."
+ 	
+ 	Delay startTimerEventLoop.!

Item was added:
+ ----- Method: ReleaseBuilder class>>saveAndQuit (in category 'saving') -----
+ saveAndQuit
+ 
+ 	Smalltalk condenseChanges.
+ 	Smalltalk snapshot: true "Important to sync changes and image!!" andQuit: false.
+ 	
+ 	"Finally, we have to make sure that all method activations are up to date."
+ 	self prepareProcesses.
+ 	
+ 	"Start new UI process; terminate current one."
+ 	self assert: Processor activeProcess == Project current uiProcess.
+ 	Project current
+ 		addDeferredUIMessage: [Smalltalk snapshot: true andQuit: true];
+ 		spawnNewProcessIfThisIsUI: Processor activeProcess.
+ 	Processor activeProcess terminate.!

Item was changed:
  ----- Method: ReleaseBuilder class>>saveAsNewRelease (in category 'saving') -----
  saveAsNewRelease
  	"Use this to create a new release image to be used in the automated release artifact building process on http://www.github.com/squeak-smalltalk/squeak-app."
  
  	| fileName |
  	self setNewSystemVersion: self versionString.
  	self assert: self versionString = SystemVersion current version.
  	
  	fileName := ('squeak-{1}.{2}{3}' format: {
  		SystemVersion current majorVersionNumber.
  		SystemVersion current minorVersionNumber.
  		self releaseLocally ifTrue: ['-offline'] ifFalse: ['']}).
  	Smalltalk saveAs: fileName.
  
  	"Update the image state."
  	self
  		prepareSourceCode;
  		prepareEnvironment;
  		switchToNewRepository: self releaseRepository;
  		addAdditionalRepositories.
  	
+ 	self saveAndQuit.!
- 	Smalltalk condenseChanges.
- 	Smalltalk snapshot: true "Important!!" andQuit: true.!

Item was changed:
  ----- Method: ReleaseBuilder class>>saveAsNewTrunk (in category 'saving') -----
  saveAsNewTrunk
  	"Use this to create a new release image to be used in the automated release artifact building process on http://www.github.com/squeak-smalltalk/squeak-app."
  
  	| fileName |	
  	fileName := ('squeak-trunk{1}' format: {
  		self releaseLocally ifTrue: ['-offline'] ifFalse: ['']}).
  	Smalltalk saveAs: fileName.
  	
  	self
  		prepareSourceCode;
  		prepareEnvironment;
  		switchToNewRepository: self buildRepository.
  	
+ 	self saveAndQuit.!
- 	Smalltalk condenseChanges.
- 	Smalltalk snapshot: true "Important!!" andQuit: true.!



More information about the Squeak-dev mailing list