[squeak-dev] The Inbox: ConfigurationOfScamper-LaurentLaffont.2.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Dec 14 04:11:43 UTC 2019


A new version of ConfigurationOfScamper was added to project The Inbox:
http://source.squeak.org/inbox/ConfigurationOfScamper-LaurentLaffont.2.mcz

==================== Summary ====================

Name: ConfigurationOfScamper-LaurentLaffont.2
Author: LaurentLaffont
Time: 2 June 2010, 8:38:59 pm
UUID: a48f419d-34e5-4b96-a460-4cfc7cef4798
Ancestors: ConfigurationOfScamper-LaurentLaffont.1

Fix loop

==================== Snapshot ====================

SystemOrganization addCategory: #ConfigurationOfScamper!

Object subclass: #ConfigurationOfScamper
	instanceVariableNames: 'project'
	classVariableNames: 'LastVersionLoad'
	poolDictionaries: ''
	category: 'ConfigurationOfScamper'!

----- Method: ConfigurationOfScamper class>>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: ConfigurationOfScamper class>>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: ConfigurationOfScamper class>>isMetacelloConfig (in category 'metacello tool support') -----
isMetacelloConfig
	"Answer true and the Metacello tools will operate on you"
	
	^true!

----- Method: ConfigurationOfScamper class>>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: ConfigurationOfScamper class>>load (in category 'loading') -----
load
	"self load"

	^self project latestVersion load!

----- Method: ConfigurationOfScamper class>>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: ConfigurationOfScamper class>>project (in category 'accessing') -----
project

	^self new project!

----- Method: ConfigurationOfScamper class>>unloadMetacello (in category 'unloading Metacello') -----
unloadMetacello

	Smalltalk at: #ConfigurationOfMetacello ifPresent: [:cls | cls unloadMetacello ]!

----- Method: ConfigurationOfScamper>>baseline10: (in category 'baselines') -----
baseline10: spec 
	<version: '1.0-baseline'>
	
	spec for: #common do: [
		spec blessing: #baseline.
	].

	spec for: #pharo do: [
		spec repository: 'http://www.squeaksource.com/Scamper'.	
		spec 
			package: 'HTML';
			package: 'Scamper' with: [ spec requires: 'HTML' ].
		spec
			group: 'default' with: #('Scamper')].!

----- Method: ConfigurationOfScamper>>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 ]!

----- Method: ConfigurationOfScamper>>version10: (in category 'versions') -----
version10: spec 
	<version: '1.0' imports: #('1.0-baseline') >
	
	spec for: #common do: [
		spec blessing: #development.
		spec 
			package: 'HTML' with: 'HTML-LaurentLaffont.5';
			package: 'Scamper' with: 'Scamper-LaurentLaffont.17'].!



More information about the Squeak-dev mailing list