The Inbox: Configurations-cwp.1.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Configurations-cwp.1.mcz

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


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Configurations-cwp.1.mcz

Hannes Hirzel
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, [hidden email]
<[hidden email]> 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 ]!
>
>
>



Configurations.PNG (40K) Download Attachment