The Inbox: Installer-Core-tcj.440.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Installer-Core-tcj.440.mcz

commits-2
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!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Installer-Core-tcj.440.mcz

Tim Johnson-2
Upon further testing, this may still need further work to become  
worthwhile.  Please don't adopt it as-is.

Thanks,
Tim

On Aug 5, 2020, at 10:21 PM, [hidden email] wrote:

> 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!
>
>
>