From ca726c89e7da026fdae59e6a206c114339251ec8 Mon Sep 17 00:00:00 2001 From: Fabio Niephaus Date: Tue, 5 Feb 2019 15:59:01 +0100 Subject: [PATCH] Add initial test image creation script [ci skip] --- docs/TestImage.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 docs/TestImage.md diff --git a/docs/TestImage.md b/docs/TestImage.md new file mode 100644 index 000000000..903bf800f --- /dev/null +++ b/docs/TestImage.md @@ -0,0 +1,67 @@ +# Test Image Creation + + +```smalltalk +| manifest load | +manifest := #( + ('http://source.squeak.org/FFI' 1 ('FFI-Pools' 'FFI-Kernel')) + ('http://source.squeak.org/VMMaker' 6 ('Balloon-Engine-Pools' 'VMMaker.oscog')) + ('http://www.squeaksource.com/OSProcess' 4 ('OSProcess')) +). + +load := (manifest collect: [:tuple | + [:path :order :packages| | repository | + repository := MCHttpRepository + location: path + user: 'squeak' + password: 'squeak'. + MCRepositoryGroup default addRepository: repository. + {repository. order. packages}] valueWithArguments: tuple]). + + load := (manifest collect: + [:tuple| + [:path :order :packages| | repository | + repository := MCHttpRepository + location: path + user: 'squeak' + password: 'squeak'. + MCRepositoryGroup default addRepository: repository. + {repository. order. packages}] valueWithArguments: tuple]) + sort: [:a :b| a second <= b second]. +load do: [:tuple | + [:repository :order :packages| + packages do: + [:package| | latestVersion | + "We need to filter-out branches of unbranched packages." + latestVersion := (repository versionNamesForPackageNamed: package) + detect: [:versionName| (versionName at: package size + 1) = $-]. + [| version | + version := ( + (MCCacheRepository default includesVersionNamed: latestVersion) + ifTrue: [MCCacheRepository default] + ifFalse: [repository]) versionNamed: latestVersion. + version load. + version workingCopy repositoryGroup addRepository: repository] + on: Warning + do: [:ex| ex resume]]] + valueWithArguments: tuple]. + +"Patch VMMaker classes for GraalSqueak" +Utilities authorInitials: 'GraalSqueak'. +(Smalltalk at: #InterpreterProxy) compile: 'stringOf: oop + ^ self cStringOrNullFor: oop'. +(Smalltalk at: #BitBltSimulation) compile: 'assert: aBlock "disable #assert:"'. +(Smalltalk at: #ThisOSProcess) class compile: 'startUp: resuming "disable #startUp:"'. + +"Disable performance killers" +World setAsBackground: Color black lighter. +Morph useSoftDropShadow: false. + +SystemWindow gradientWindow: false. +DialogWindow gradientDialog: false. +MenuMorph gradientMenu: false. +PluggableButtonMorph gradientButton: false. +ScrollBar gradientScrollBar: false. + +Morph indicateKeyboardFocus: false. +```