ConfigurationOf and BaselineOf subclassing

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

ConfigurationOf and BaselineOf subclassing

dario trussardi
Hi,

        It is need - obligatory

                ConfigurationOf.................  is subclass of ConfigurationOf  class

        and
               
                BaselineOf.................. is subclass of BaselineOf   class

       
        I see Object subclass: #ConfigurationOfPier3


        I have  ( but i don't remember because ):

        Object subclass: #ConfigurationOfDtrBase
        instanceVariableNames: 'project'
        classVariableNames: 'LastVersionLoad'
        category: 'ConfigurationOfDtrBase'

        it's correct?

        This class implementing:

        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.
                project ]

        I't's best change to:
       
                ConfigurationOf subclass: #ConfigurationOfDtrBase
                instanceVariableNames: ''
                classVariableNames: ''
                category: 'ConfigurationOfDtrBase'

        and remove the project method?
       
        Thanks,

                Dario

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: ConfigurationOf and BaselineOf subclassing

Dale Henrichs-3

On 12/19/2014 08:58 AM, Dario Trussardi wrote:

> Hi,
>
> It is need - obligatory
>
> ConfigurationOf.................  is subclass of ConfigurationOf  class
>
> and
>
> BaselineOf.................. is subclass of BaselineOf   class
>
>
> I see Object subclass: #ConfigurationOfPier3
>
>
> I have  ( but i don't remember because ):
>
> Object subclass: #ConfigurationOfDtrBase
> instanceVariableNames: 'project'
> classVariableNames: 'LastVersionLoad'
> category: 'ConfigurationOfDtrBase'
>
> it's correct?
>
> This class implementing:
>
> 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.
> project ]
>
> I't's best change to:
>
> ConfigurationOf subclass: #ConfigurationOfDtrBase
> instanceVariableNames: ''
> classVariableNames: ''
> category: 'ConfigurationOfDtrBase'
>
> and remove the project method?

Dario,

If your configuration will only be used in images where the Metacello
Scripting API has already been installed, then I think it is a good idea
to start using the subclass of ConfigurationOf. As you've observerved,
by subclassing you don't need to copy the new class from from a template
to make sure that all of the necessary methods are supplied ...

In your scenario, where this a project based in a git repository, I
really recommend that you use a BaselineOf and stop using
ConfigurationOf altogether ... with a BaselineOf you don't need to
continually update the version method with new package versions ...

Dale

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.