Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-dtl.198.mcz==================== Summary ====================
Name: ReleaseBuilder-dtl.198
Author: dtl
Time: 18 September 2019, 10:37:49.461592 pm
UUID: 93409652-4167-4790-a02a-ec5e54f2c036
Ancestors: ReleaseBuilder-mt.197
When preparing a new release image, arrange for the home Morphic project to have a parent MVC project. The MVC project supports emergency debugging in the event of unrecoverable Morphic problems, and will fall back on the traditional emergency evaluator if MVC debugging fails.
=============== Diff against ReleaseBuilder-mt.197 ===============
Item was added:
+ ----- Method: ReleaseBuilder class>>addMVCParentProject (in category 'scripts - support') -----
+ addMVCParentProject
+ "The home project is a single Morphic project. Let the home project have a
+ parent MVC project as the root of the project tree. The MVC project supports
+ emergency debugging in the event of unrecoverable Morphic problems, and
+ will fall back on the traditional emergency evaluator if MVC debugging fails.
+ If MVC is not installed in the image, then do nothing."
+
+ (Smalltalk hasClassNamed:#MVCProject) ifTrue: [ | cls |
+ cls := Smalltalk classNamed: #MVCProject.
+ ((Project topProject) perform: #isMVC)
+ ifFalse: [(cls new name: 'The root project') beTopProject ] ].
+ !
Item was changed:
----- Method: ReleaseBuilder class>>checkCurrentProjects (in category 'scripts - support') -----
checkCurrentProjects
Project current isMorphic ifFalse: [
Warning signal: 'The current project is not Morphic. Please create a new Morphic project, enter it, and restart the release building process.'].
+ Project allProjects size
+ caseOf: {
+ [ 1 ] -> [ self addMVCParentProject ] .
+ [ 2 ] -> [ ((Project current parent) perform: #isMVC) ifFalse: [ Warning signal: 'Parent of the home project should be an MVC project.' ] ] }
+ otherwise: [ Warning signal: 'There should be one home Morphic project with a parent MVC project for fallback debugging.' ] .
- Project allProjects size = 1 ifFalse: [
- Warning signal: 'There should only be one project.'].
"Avoid strange drawing issues."
Project current world allMorphsDo: [:m | m removeProperty: #errorOnDraw].!