[Pkg] Installer: Installer-Core-kph.318.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Mon Mar 30 00:44:27 UTC 2009


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



More information about the Packages mailing list