[squeak-dev] The Inbox: Installer-Core-tcj.440.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 6 05:21:56 UTC 2020


A new version of Installer-Core was added to project The Inbox:
http://source.squeak.org/inbox/Installer-Core-tcj.440.mcz

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

Name: Installer-Core-tcj.440
Author: tcj
Time: 5 August 2020, 10:21:54.954624 pm
UUID: b6ac0eda-4db6-4313-b760-50dcdd1dc584
Ancestors: Installer-Core-mt.439

Be more tolerant of a partially-installed or mis-installed Metacello.

=============== Diff against Installer-Core-mt.439 ===============

Item was changed:
  ----- Method: Installer class>>ensureRecentMetacello (in category 'scripts') -----
  ensureRecentMetacello
  	"Copied and adapted from https://github.com/Metacello/metacello/blob/master/README.md"
  	
  	| metacello |
  	((Smalltalk classNamed: #WebClient)
  		ifNil: [ false ]
  		ifNotNil: [ :webClient | 
  			[ (webClient httpHead: 'https://github.com') isSuccess ] 
  				on: Error
  				do: [ false ] ])
  		ifFalse: [ ^self inform: 'Could not connect to "https://github.com".\\You need an internet connection and SSL support\to install (or update) Metacello.\\Please fix those issues and try again.' translated withCRs ].
  	
  	self isMetacelloInstalled ifFalse: [
  		"Prepare a clean environment for it."
+ 		Smalltalk globals removeKey: #Metacello ifAbsent: [].
- 		Smalltalk globals removeKey: #Metacello.
  		"Get the Metacello configuration (for Squeak users)"
  		Installer gemsource
  			project: 'metacello';
  			addPackage: 'ConfigurationOfMetacello';
  			install.
  
  		"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
  		((Smalltalk classNamed: #ConfigurationOfMetacello) project 
  			version: #'previewBootstrap') load].
  
  	metacello := Smalltalk classNamed: #Metacello.
  
  	"Now load latest version of Metacello"
  	metacello new
  		baseline: 'Metacello';
  		repository: 'github://Metacello/metacello:master/repository';
  		get.
  	metacello new
  		baseline: 'Metacello';
  		repository: 'github://Metacello/metacello:master/repository';
  		load: #('default' 'Metacello-Help').
  !

Item was changed:
  ----- Method: Installer class>>isMetacelloInstalled (in category 'scripts') -----
  isMetacelloInstalled
+ 	"Squeak is shipped with the global #Metacello referring to lightweight MetacelloStub.  After the first message is sent, the latest Metacello is installed, replacing the stub.
+ 	Be tolerant of a partially-installed Metacello."
+ 	^ (Smalltalk includesKey: #Metacello)
+ 		and: [(Smalltalk at: #Metacello) ~= MetacelloStub]!
- 	"Squeak is shipped with the global #Metacello referring to lightweight MetacelloStub.  After the first message is sent, the latest Metacello is installed, replacing the stub."
- 	^ (Smalltalk at: #Metacello) ~= MetacelloStub!



More information about the Squeak-dev mailing list