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

commits at source.squeak.org commits at source.squeak.org
Mon May 17 07:54:46 UTC 2010


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




More information about the Squeak-dev mailing list