[squeak-dev] The Inbox: Configurations-cwp.1.mcz

Hannes Hirzel hannes.hirzel at gmail.com
Mon May 17 16:45:00 UTC 2010


I loaded the Configuration into a pristine Squeak4.1trunk10147 image
and it loaded fine.

It comes with two classes

MetacelloConfiguration and a subclass

   ConfigurationOfOmniBrowser


After evaluating
    ConfigurationOfOmniBrowser load

I could do

OBSystemBrowser open

and the OmniBrowser with refactoring was there....


Great work, Colin! Many thanks!!!

--Hannes


On Mon, 17 May 2010 07:54:45.512 0000, commits at source.squeak.org
<commits at source.squeak.org> wrote:
> A new version of Configurations was added to project The Inbox:
> http://source.squeak.org/inbox/Configurations-cwp.1.mcz
>
> ==================== Summary ====================
>
> Name: Configurations-cwp.1
> Author: cwp
> Time: 17 May 2010, 12:54:43.356 am
> UUID: 7437f388-69eb-4564-900e-5dc2e546e786
> Ancestors:
>
> First crack at it, with an experimental configuration for OmniBrowser.
>
> ==================== Snapshot ====================
>
> SystemOrganization addCategory: #Configurations!
>
> Object subclass: #MetacelloConfiguration
> 	instanceVariableNames: 'project'
> 	classVariableNames: 'LastVersionLoad'
> 	poolDictionaries: ''
> 	category: 'Configurations'!
>
> MetacelloConfiguration subclass: #ConfigurationOfOmniBrowser
> 	instanceVariableNames: ''
> 	classVariableNames: ''
> 	poolDictionaries: ''
> 	category: 'Configurations'!
>
> ----- Method: ConfigurationOfOmniBrowser>>baseline200: (in category 'version
> 2.0.4') -----
> baseline200: spec
> 	<version: '2.0-baseline'>
> 	spec
> 		for: #common
> 		do: [spec blessing: #baseline.
> 			self repositories: spec.
> 			self packages: spec.
> 			self groups: spec ]!
>
> ----- Method: ConfigurationOfOmniBrowser>>groups: (in category 'version
> 2.0.4') -----
> groups: spec
> 	spec
> 		group: 'default' with: #('morphic' 'smalltalk' 'refactory');
> 		group: 'library' with: #('OmniBrowser');
> 		group: 'morphic' with: #('OB-Morphic');
> 		group: 'web' with: #('OB-Web');
> 		group: 'smalltalk' with: #('OB-Standard' 'OB-SUnitIntegration'
> 'OB-Shout');
> 		group: 'refactory' with: #('OB-Refactory' 'OB-Regex');
> 		group: 'tests' with:
> 			#('OB-Tests-Core'
> 			'OB-Tests-Morphic'
> 			'OB-Tests-Standard'
> 			'Refactoring-Tests-Core'
> 			'Refactoring-Tests-Spelling');
> 		group: 'dev' with: #('default' 'web' 'tests' 'OB-Tests-Web')!
>
> ----- Method: ConfigurationOfOmniBrowser>>label (in category 'accessing')
> -----
> label
> 	^ 'OmniBrowser'!
>
> ----- Method: ConfigurationOfOmniBrowser>>packages: (in category 'version
> 2.0.4') -----
> packages: spec
> 	spec
> 		package: 'OmniBrowser';
> 		package: 'OB-Morphic' with: [ spec requires: 'OmniBrowser' ];
> 		package: 'OB-Standard' with: [ spec requires: 'OmniBrowser' ];
> 		package: 'OB-Shout' with: [ spec requires: #('OB-Morphic' 'OB-Standard')
> ];
> 		package: 'OB-SUnitIntegration' with: [ spec requires: 'OB-Standard' ];
> 		package: 'AST-Core';
> 		package: 'VB-Regex';
> 		package: 'Refactoring-Core' with: [spec requires: 'AST-Core'];
> 		package: 'Refactoring-Spelling' with: [ spec requires: 'Refactoring-Core'
> ];
> 		package: 'OB-Refactory' with: [ spec requires: #('OB-Standard' 'AST-Core'
> 'Refactoring-Core' 'Refactoring-Spelling') ];
> 		package: 'OB-Regex' with: [ spec requires: #('OB-Refactory' 'VB-Regex') ];
> 		package: 'Bogus';
> 		package: 'BogusExt' with: [ spec requires: 'Bogus' ];
> 		package: 'BogusInfo' with: [ spec requires: #('Bogus' 'BogusExt') ];
> 		package: 'OB-Squeak-Testing';
> 		package: 'OB-Tests-Core' with: [spec requires: #('OmniBrowser'
> 'OB-Squeak-Testing')];
> 		package: 'OB-Tests-Morphic' with: [ spec requires: #('OB-Tests-Core'
> 'OB-Morphic') ];
> 		package: 'OB-Tests-Standard' with: [ spec requires: #('OB-Tests-Core'
> 'OB-Standard' 'BogusInfo' 'OB-Fake') ];
> 		package: 'OB-Fake' with: [ spec requires: #('OmniBrowser' 'OB-Tests-Core')
> ];
> 		package: 'AST-Tests-Core' with: [spec requires: #('AST-Core')];
> 		package: 'Refactoring-Tests-Core' with: [spec requires:
> 'Refactoring-Core'];
> 		package: 'Refactoring-Tests-Spelling' with: [spec requires:
> 'Refactoring-Spelling'];
> 		package: 'DynamicBindings';
> 		package: 'KomServices' with: [ spec requires: 'DynamicBindings' ];
> 		package: 'KomHttpServer' with: [ spec requires: 'KomServices' ];
> 		package: 'JSON';
> 		package: 'OB-Web' with: [ spec requires: #('OmniBrowser' 'KomHttpServer'
> 'JSON') ];
> 		package: 'OB-Tests-Web' with: [ spec requires: #('OB-Tests-Core' 'OB-Web')
> ]!
>
> ----- Method: ConfigurationOfOmniBrowser>>repositories: (in category
> 'version 2.0.4') -----
> repositories: spec
> 	spec
> 		repository: 'http://source.wiresong.ca/ob';
> 		repository: 'http://source.lukas-renggli.ch/omnibrowser';
> 		repository: 'http://www.squeaksource.com/rb';
> 		repository: 'http://www.squeaksource.com/Regex'!
>
> ----- Method: ConfigurationOfOmniBrowser>>version204: (in category 'version
> 2.0.4') -----
> version204: spec
> 	<version: '2.0.4' imports: #('2.0-baseline' )>
>
> 	spec for: #common do: [
> 		spec blessing: #candidate.
> 		spec author: 'cwp'.
> 		spec timestamp: '5/16/2010 08:08'.
> 		spec
> 			package: 'OmniBrowser' with: 'OmniBrowser-lr.476';
> 			package: 'OB-Morphic' with: 'OB-Morphic-lr.122';
> 			package: 'OB-Standard' with: 'OB-Standard-lr.468';
> 			package: 'OB-Shout' with: 'OB-Shout-lr.5';
> 			package: 'OB-SUnitIntegration' with: 'OB-SUnitIntegration-lr.28';
> 			package: 'AST-Core' with: 'AST-Core-lr.73';
> 			package: 'VB-Regex' with: 'VB-Regex-damienpollet.17';
> 			package: 'Refactoring-Core' with: 'Refactoring-Core-cwp.128';
> 			package: 'Refactoring-Spelling' with: 'Refactoring-Spelling-lr.19';
> 			package: 'OB-Refactory' with: 'OB-Refactory-lr.209';
> 			package: 'OB-Regex' with: 'OB-Regex-lr.23';
> 			package: 'Bogus' with: 'Bogus-cwp.18';
> 			package: 'BogusExt' with: 'BogusExt-cwp.4';
> 			package: 'BogusInfo' with: 'BogusInfo-lr.21';
> 			package: 'OB-Tests-Core' with: 'OB-Tests-Core-lr.81';
> 			package: 'OB-Tests-Morphic' with: 'OB-Tests-Morphic-lr.27';
> 			package: 'OB-Tests-Standard' with: 'OB-Tests-Standard-lr.111';
> 			package: 'OB-Fake' with: 'OB-Fake-lr.14';
> 			package: 'DynamicBindings' with: 'DynamicBindings-lr.13';
> 			package: 'KomServices' with: 'KomServices-lr.20';
> 			package: 'KomHttpServer' with: 'KomHttpServer-lr.52';
> 			package: 'JSON' with: 'JSON-cwp.19';
> 			package: 'OB-Web' with: 'OB-Web-lr.62';
> 			package: 'OB-Tests-Web' with: 'OB-Tests-Web-lr.28'.].!
>
> ----- Method: MetacelloConfiguration classSide>>bootstrapPackage:from: (in
> category 'private') -----
> bootstrapPackage: aString from: aPath
> 	| repository version |
> 	repository := MCHttpRepository
> 				location: aPath
> 				user: ''
> 				password: ''.
> 	repository
> 		versionReaderForFileNamed: aString , '.mcz'
> 		do: [:reader |
> 			version := reader version.
> 			version load.
> 			version workingCopy repositoryGroup addRepository: repository]!
>
> ----- Method: MetacelloConfiguration classSide>>ensureMetacello (in category
> 'private') -----
> ensureMetacello
> 	"Bootstrap Gofer (if necessary), bootstrap ConfigurationOfMetacello (using
> old Gofer API), then load the latest
> 	version of Metacello itself."
>
> 	Smalltalk at: #MetacelloProject ifAbsent: [
> 		Smalltalk at: #Gofer ifAbsent: [
> 			"Current version of Gofer from which to bootstrap - as of 1.0-beta.21"
> 			self bootstrapPackage: 'Gofer-Core-lr.115' from:
> 'http://seaside.gemstone.com/ss/metacello' ].
> 		Smalltalk at: #Gofer ifPresent: [:goferClass | | gofer |
> 			gofer := goferClass new
> 				url: 'http://seaside.gemstone.com/ss/metacello';
> 				yourself.
> 			[ gofer addPackage: 'ConfigurationOfMetacello' ] on: Warning do: [:ex |
> ex resume ].
> 			gofer load ].
> 		"load 'default' group of Metacello"
> 		(Smalltalk at: #ConfigurationOfMetacello) perform: #load ]!
>
> ----- Method: MetacelloConfiguration classSide>>isMetacelloConfig (in
> category 'metacello tool support') -----
> isMetacelloConfig
> 	"Answer true and the Metacello tools will operate on you"
> 	
> 	^true!
>
> ----- Method: MetacelloConfiguration classSide>>lastMetacelloVersionLoad (in
> category 'metacello tool support') -----
> lastMetacelloVersionLoad
> 	"Answer the last version loaded and the list of packages loaded for that
> version."
>
> 	LastVersionLoad == nil ifTrue: [ LastVersionLoad := nil -> 'default' ].
> 	^LastVersionLoad!
>
> ----- Method: MetacelloConfiguration classSide>>load (in category 'loading')
> -----
> load
> 	"self load"
>
> 	^self project latestVersion load!
>
> ----- Method: MetacelloConfiguration classSide>>load: (in category
> 'loading') -----
> load: aString
> 	^ self project latestVersion load: aString!
>
> ----- Method: MetacelloConfiguration classSide>>metacelloVersion:loads: (in
> category 'metacello tool support') -----
> metacelloVersion: versionString loads: anArrayOrString
> 	"Stash the last version loaded and the list of packages loaded for that
> version. The list
> 	 of packages will be used by the tools when doing 'Load Package Version'"
>
> 	LastVersionLoad := versionString -> anArrayOrString!
>
> ----- Method: MetacelloConfiguration classSide>>project (in category
> 'accessing') -----
> project
>
> 	^self new project!
>
> ----- Method: MetacelloConfiguration classSide>>unloadMetacello (in category
> 'unloading Metacello') -----
> unloadMetacello
>
> 	Smalltalk at: #ConfigurationOfMetacello ifPresent: [:cls | cls
> unloadMetacello ]!
>
> ----- Method: MetacelloConfiguration>>project (in category 'accessing')
> -----
> project
>
> 	^ project ifNil: [ | constructor |
> 		"Bootstrap Metacello if it is not already loaded"
> 		self class ensureMetacello.
> 		"Construct Metacello project"
> 		constructor := (Smalltalk at: #MetacelloVersionConstructor) on: self.
> 		project := constructor project.
> 		project loadType: #linear. "change to #atomic if desired"
> 		project ]!
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Configurations.PNG
Type: image/png
Size: 30069 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100517/0ae3b3c7/Configurations.png


More information about the Squeak-dev mailing list