-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConfigurationOfTMM.st
176 lines (129 loc) · 5.17 KB
/
ConfigurationOfTMM.st
1
Object subclass: #ConfigurationOfTMM instanceVariableNames: 'project' classVariableNames: 'LastVersionLoad' poolDictionaries: '' category: 'ConfigurationOfTMM'!!ConfigurationOfTMM methodsFor: 'baselines' stamp: 'YanniChiu 4/26/2015 21:28'!baseline1: spec <version: '1-baseline'> spec for: #common do: [ spec blessing: #baseline; repository: 'github://yannij/TMM:master/repository'; project: 'VoyageMongo' with: [ spec className: 'ConfigurationOfVoyageMongo'; version: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo40/main ' ]; project: 'Mustache' with: [ spec className: 'ConfigurationOfMustache'; version: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo40/main ' ]; project: 'Teapot' with: [ spec className: 'ConfigurationOfTeapot'; version: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo40/main ' ]; project: 'ZincSSO' with: [ spec className: 'ConfigurationOfZincHTTPComponents'; version: #stable; loads: #('SSO'); repository: 'http://mc.stfx.eu/ZincHTTPComponents' ]; package: 'TMM-Core' with: [ spec requires: #( 'VoyageMongo' 'Mustache' 'Teapot' 'ZincSSO' ) ]; group: 'default' with: #('TMM-Core'); group: 'Core' with: #('TMM-Core')]! !!ConfigurationOfTMM methodsFor: 'symbolic versions' stamp: 'YanniChiu 5/1/2015 01:56'!stable: spec <symbolicVersion: #'stable'> spec for: #common version: '3'.! !!ConfigurationOfTMM methodsFor: 'symbolic versions' stamp: 'YanniChiu 4/27/2015 22:29'!development: spec <symbolicVersion: #'development'> spec for: #common version: '3'.! !!ConfigurationOfTMM methodsFor: 'versions' stamp: 'YanniChiu 5/1/2015 01:56'!version2: spec <version: '2' imports: #('1-baseline')> spec for: #common do: [ spec blessing: #stable; package: 'TMM-Core' with: 'TMM-Core-YanniChiu.2' ]! !!ConfigurationOfTMM methodsFor: 'versions' stamp: 'YanniChiu 4/27/2015 01:01'!version1: spec <version: '2' imports: #('1-baseline')> spec for: #common do: [ spec blessing: #stable; package: 'TMM-Core' with: 'TMM-Core-YanniChiu.2' ]! !!ConfigurationOfTMM methodsFor: 'versions' stamp: 'YanniChiu 5/1/2015 01:55'!version3: spec <version: '3' imports: #('1-baseline')> spec for: #common do: [ spec blessing: #stable; package: 'TMM-Core' with: 'TMM-Core-YanniChiu.3' ]! !!ConfigurationOfTMM methodsFor: 'accessing' stamp: 'YanniChiu 4/26/2015 16:34'!project ^ project ifNil: [ | constructor | "Bootstrap Metacello if it is not already loaded" (self class baseConfigurationClassIfAbsent: []) ensureMetacello. "Construct Metacello project" constructor := (Smalltalk at: #MetacelloVersionConstructor) on: self. project := constructor project. project loadType: #linear. "change to #atomic if desired" project ]! !"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!ConfigurationOfTMM class instanceVariableNames: ''!!ConfigurationOfTMM class methodsFor: 'accessing' stamp: 'YanniChiu 4/26/2015 16:39'!project ^self new project! !!ConfigurationOfTMM class methodsFor: 'loading' stamp: 'YanniChiu 4/26/2015 16:39'!loadBleedingEdge "Load the latest versions of the mcz files defined for this project. It is not likely that the #bleedingEdge has been tested." "self loadBleedingEdge" <apiDocumentation> ^(self project version: #bleedingEdge) load! !!ConfigurationOfTMM class methodsFor: 'loading' stamp: 'YanniChiu 4/26/2015 16:39'!load "Load the #stable version defined for this platform. The #stable version is the version that is recommended to be used on this platform." "self load" <apiDocumentation> ^(self project version: #stable) load! !!ConfigurationOfTMM class methodsFor: 'loading' stamp: 'YanniChiu 4/26/2015 16:40'!loadDevelopment "Load the #development version defined for this platform. The #development version will change over time and is not expected to be stable." "self loadDevelopment" <apiDocumentation> ^(self project version: #development) load! !!ConfigurationOfTMM class methodsFor: 'private' stamp: 'YanniChiu 4/26/2015 16:41'!ensureMetacelloBaseConfiguration Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ | repository version | repository := MCHttpRepository location: 'http://seaside.gemstone.com/ss/metacello' user: '' password: ''. repository versionReaderForFileNamed: 'Metacello-Base-DaleHenrichs.2.mcz' do: [ :reader | version := reader version. version load. version workingCopy repositoryGroup addRepository: repository ] ]! !!ConfigurationOfTMM class methodsFor: 'private' stamp: 'YanniChiu 4/26/2015 16:40'!baseConfigurationClassIfAbsent: aBlock ^Smalltalk at: #MetacelloBaseConfiguration ifAbsent: [ self ensureMetacelloBaseConfiguration. Smalltalk at: #MetacelloBaseConfiguration ifAbsent: aBlock ].! !!ConfigurationOfTMM class methodsFor: 'private' stamp: 'YanniChiu 4/26/2015 16:41'!ensureMetacello (self baseConfigurationClassIfAbsent: []) ensureMetacello! !!ConfigurationOfTMM class methodsFor: 'metacello tool support' stamp: 'YanniChiu 4/26/2015 16:40'!isMetacelloConfig "Answer true and the Metacello tools will operate on you" ^true! !