A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-kph.318.mcz
==================== Summary ====================
Name: Installer-Core-kph.318 Author: kph Time: 30 March 2009, 1:44:23 am UUID: 5bb25884-929b-4c27-91cc-5f1d60493f8e Ancestors: Installer-Core-kph.317
API change #bootstrap is now #fileInSource.
Also:
Installer ss project: 'Some'; quietly; install: 'Pkg'.
(Installer ss project: 'Some') silently install: 'Pkg'.
=============== Diff against Installer-Core-kph.317 ===============
Item was added: + ----- Method: Installer>>quietly (in category 'public interface') ----- + quietly + + noiseLevel := #quiet!
Item was changed: ----- Method: Installer>>bootstrap (in category 'public interface') ----- bootstrap + "keep for compatability" + + self deprecatedApi.
+ useFileIn := true. - isBootstrap := true. self install.!
Item was changed: ----- Method: Installer class>>bootstrapTheRestOfInstaller (in category 'action report') ----- bootstrapTheRestOfInstaller
(Installer url: 'www.squeaksource.com/Installer/Installer-Scripts') + fileInSource; - bootstrap; logCR: 'installer bootstrap - loaded'.!
Item was added: + ----- Method: Installer>>fileInSource (in category 'public interface') ----- + fileInSource + + useFileIn := true. + self install.!
Item was changed: ----- Method: Installer>>installQuietly (in category 'public interface') ----- installQuietly
+ [ self installLogging ] on: Warning do: [ :ex | ex resume: true ].! - [ self install ] on: Warning do: [ :ex | ex resume: true ].!
Item was added: + ----- Method: InstallerUrl>>fileInSource (in category 'accessing') ----- + fileInSource + + " + (Installer url: 'http://www.squeaksource.com/Sake/Sake-Core-kph.47.mcz') bootstrap. + " + + + | pkg splitPos repo getFileName fileName | + + useFileIn := true. + + splitPos := url lastIndexOf: $/. + + pkg := url copyFrom: splitPos + 1 to: url size. + repo := url copyFrom: 1 to: splitPos. + + getFileName := [ :pkgName | pkgName , ((HTTPSocket httpGet: repo) upToAll: pkgName; upTo: $") ]. + + fileName := getFileName value: pkg. + + url := repo,fileName. + + self install!
Item was added: + ----- Method: Installer>>installLogging (in category 'public interface') ----- + installLogging + + self logErrorDuring: [self basicInstall]!
Item was changed: ----- Method: Installer>>mcThing:from: (in category 'mantis') ----- mcThing: aFileName from: stream "dont use monticello for .cs or for .st use monticello for .mcs"
| reader | + useFileIn ifTrue: [ ^ nil ]. - isBootstrap ifTrue: [ ^ nil ]. reader := self classMCReader readerClassForFileNamed: aFileName. reader name = 'MCStReader' ifTrue: [ ^ nil ]. reader ifNil: [ ^ nil ]. (reader respondsTo: #on:fileName:) ifTrue: [ reader := reader on: stream fileName: aFileName. ^ reader version ] ifFalse: [ reader := reader on: stream. ^ reader snapshot ].!
Item was changed: ----- Method: Installer>>install (in category 'public interface') ----- install + + noiseLevel = #quiet ifTrue: [ ^ self installQuietly ]. + noiseLevel = #silent ifTrue: [ ^ self installSilently ]. + + ^ self installLogging! - self logErrorDuring: [self basicInstall]!
Item was changed: ----- Method: Installer>>installSilently (in category 'public interface') ----- installSilently
+ SystemChangeNotifier uniqueInstance doSilently: [ self installLogging ] - SystemChangeNotifier uniqueInstance doSilently: [ self install ]
!
Item was changed: Object subclass: #Installer + instanceVariableNames: 'answers packages messagesToSuppress useFileIn noiseLevel' - instanceVariableNames: 'answers packages messagesToSuppress isBootstrap' classVariableNames: 'IsSetToTrapErrors Remembered SkipLoadingTests InstallerBindings ValidationBlock' poolDictionaries: '' category: 'Installer-Core'!
+ !Installer commentStamp: 'kph 3/30/2009 01:29' prior: 0! - !Installer commentStamp: 'kph 2/24/2009 06:32' prior: 0! Documentation now available at http://installer.pbwiki.com/Installer
+ useFileIn - flag to load source.st rather than using Monticello! - isBootstrap - flag to load source.st rather than using Monticello!
Item was changed: ----- Method: Installer>>installQuietly: (in category 'public interface') ----- installQuietly: packageNameCollectionOrDetectBlock
+ self quietly install: packageNameCollectionOrDetectBlock. + ! - self package: packageNameCollectionOrDetectBlock. - self installQuietly.!
Item was changed: ----- Method: Installer>>install:from: (in category 'mantis') ----- install: aFileName from: stream
| ext installSelector mcThing | self log: ' installing...'.
self withAnswersDo: [ mcThing := self classMCReader ifNotNil: [ self mcThing: aFileName from: stream ]. mcThing ifNotNil: [ (mcThing respondsTo: #install) ifTrue: [ mcThing install ] ifFalse: [ (mcThing respondsTo: #load) ifTrue: [ mcThing load ] ] ] ifNil: [ ext := (aFileName copyAfterLast: $/) in: [ :path | path isEmpty ifTrue: [ aFileName ] ifFalse: [ path ] ]. ext := ext copyAfterLast: $.. ext = '' ifTrue: [ ext := 'st' ]. installSelector := ('install', ext asUppercase, ':from:') asSymbol. + useFileIn ifTrue: [ - isBootstrap ifTrue: [ [ SystemChangeNotifier uniqueInstance doSilently: [self install: aFileName from: stream using: installSelector ]] on: Warning do: [ :ex | ex resume: true ]. ] ifFalse: [ self install: aFileName from: stream using: installSelector. ] ] ].
self log: ' done.' !
Item was changed: ----- Method: Installer>>initialize (in category 'public interface') ----- initialize
+ useFileIn := false..! - isBootstrap := false.!
Item was added: + ----- Method: Installer>>silently (in category 'public interface') ----- + silently + + noiseLevel := #silent!
Item was removed: - ----- Method: InstallerUrl>>bootstrap (in category 'accessing') ----- - bootstrap - - " - (Installer url: 'http://www.squeaksource.com/Sake/Sake-Core-kph.47.mcz') bootstrap. - " - - - | pkg splitPos repo getFileName fileName | - - isBootstrap := true. - - splitPos := url lastIndexOf: $/. - - pkg := url copyFrom: splitPos + 1 to: url size. - repo := url copyFrom: 1 to: splitPos. - - getFileName := [ :pkgName | pkgName , ((HTTPSocket httpGet: repo) upToAll: pkgName; upTo: $") ]. - - fileName := getFileName value: pkg. - - url := repo,fileName. - - self install!
Item was removed: - ----- Method: Installer>>inizialize (in category 'public interface') ----- - inizialize - - isBootstrap := false.!
packages@lists.squeakfoundation.org