Marcel Taeumel uploaded a new version of Installer-Core to project The Trunk: http://source.squeak.org/trunk/Installer-Core-mt.448.mcz
==================== Summary ====================
Name: Installer-Core-mt.448 Author: mt Time: 2 June 2022, 4:46:57.950188 pm UUID: f96d06a4-61c9-5442-b7de-7f6b52079900 Ancestors: Installer-Core-ct.447, Installer-Core-ct.441
Merge Installer-Core-ct.441. Cherry pick fixes from tcj.440 (from 2020) and lrnp.447.
=============== Diff against Installer-Core-ct.447 ===============
Item was changed: Object subclass: #Installer instanceVariableNames: 'answers packages messagesToSuppress useFileIn noiseLevel' classVariableNames: 'InstallerBindings IsSetToTrapErrors Repositories SkipLoadingTests ValidationBlock' poolDictionaries: '' category: 'Installer-Core'! Installer class instanceVariableNames: 'localRepository'!
+ !Installer commentStamp: 'ct 10/3/2021 15:45' prior: 0! - !Installer commentStamp: 'tpr 8/25/2019 18:37' prior: 0! Installer is a mechanism for listing, examining and installing software from a variety of sources. It is intended to help in building install scripts for package setups etc.
Currently it can use - files; a file specified by a filename. Relative filenames will be treated as based form the current default directory. See InstallerFile. - urls; a file specified by a url or a script embedded in a webpage. See InstallerWeb. - squeakmap; see InstallerSqueakMap - monticello; by ftp or http access, or a local directory, or a Magma or GOODS database. There is a list of shortcuts to popular repositories in this class protocol 'repositories'. See InstallerMonticello. - mantis; accessing code attached to a mantis bug report. See InstallerMantis.
Simple example usages - + Installer new merge: #osProcess. Installer squeakmap install: 'DynamicBindings'. Installer squeakmap search: '*scratch'. Installer squeakmap search: 'author:*rowledge'. Installer squeaksource project: 'ss2'; install: 'TinyWiki'. Installer ss project: 'Installer'; browse: 'Installer-Core'.
useFileIn - flag to load source.st rather than using Monticello! Installer class instanceVariableNames: 'localRepository'!
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%22.%5C%5CYou need an internet connection and SSL support\to install (or update) Metacello.\Please fix those issues and try again.' translated withCRs ]. self isMetacelloInstalled ifFalse: [ | response | "Download base archive of Metacello." response := WebClient httpGet: 'https://files.squeak.org/metacello/metacello-squeak60.sar'. response isSuccess ifFalse: [ self error: ('Could not download Metacello archive: {1}' translated format: {response status})]. "Prepare a clean environment and install it." + Smalltalk globals removeKey: #Metacello ifAbsent: ["Ignore prior attempts."]. - Smalltalk globals removeKey: #Metacello. SARInstaller new fileInFrom: response content asByteArray readStream].
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." + + ^ (Smalltalk at: #Metacello ifAbsent: nil) + ifNil: [false "Installation was interrupted."] + ifNotNil: [:mcClass | mcClass ~= MetacelloStub]! - ^ (Smalltalk at: #Metacello) ~= MetacelloStub!
squeak-dev@lists.squeakfoundation.org