Dependent project #className:

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

Dependent project #className:

Sean P. DeNigris
Administrator
It seems that this (e.g. className: 'ConfigurationOfUI') is required. Why not have it be optional and default to ConfigurationOfProjectName?

Thanks,
Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Dependent project #className:

Dale Henrichs
You are correct ... I started out making `className:` optional, but then I needed to add `baseline:with:` (optional `className:`) and then after much gnashing of teeth and tearing of hair, I decided to add `configuration:with:` (optional `className:`) and leave `project:with:` as is (required `className:`).

The same pattern is repeated in the Metacello scripting api...

So here are the curent required fields:

  spec
    project:'UI' with: [
      spec
        className: 'MyNonConformistConfigOfUI';
        version: #stable;
        repository: 'http://example.com/UI'];
    configuration:'UI' with: [
      spec
        version: #stable;
        repository: 'http://example.com/UI'];
    baseline:'UI' with: [
      spec
        repository: 'http://example.com/UI'];

The documentation will emphasize `configuration:with` and `baseline:with:`, while `project:with:` will be for super-users and stubborn non-conformists:)

Dale

----- Original Message -----
| From: "Sean P. DeNigris" <[hidden email]>
| To: [hidden email]
| Sent: Wednesday, July 4, 2012 8:52:36 AM
| Subject: [Metacello] Dependent project #className:
|
| It seems that this (e.g. className: 'ConfigurationOfUI') is required.
| Why not
| have it be optional and default to ConfigurationOfProjectName?
|
| Thanks,
| Sean
|
| --
| View this message in context:
| http://forum.world.st/Dependent-project-className-tp4638262.html
| Sent from the Metacello mailing list archive at Nabble.com.
|
Reply | Threaded
Open this post in threaded view
|

Re: Dependent project #className:

Sean P. DeNigris
Administrator
Dale Henrichs wrote
I decided to add `configuration:with:` (optional `className:`) and leave `project:with:` as is (required `className:`).
Why can't it be optional in #project:with: also? What is the difference between it and #configuration:with:?

Dale Henrichs wrote
    configuration:'UI' with: [
      spec
        version: #stable;
        repository: 'http://example.com/UI'];
    baseline:'UI' with: [
      spec
        repository: 'http://example.com/UI'];
Is #baseline:with: equivalent to #configuration:with: [ ... version: #bleedingEdge... ]?
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Dependent project #className:

Dale Henrichs
Sean,

The thought process goes:

  in 1.0-beta.31
    `className:` is not optional

  in 1.0-beta.32
    `configuration:with:` and `baseline:with:with:`
      added with className: optional

`configuration:with:` assumes the ConfigurationOf convention is followed.
`baseline:with:` assumes the BaselineOf convention is followed.

All new configurations should be created using one or the other of the above constructs.

`project:with:` is really only being supported for backward compatibility... `project:with:` cannot be used for baselines (that's why `baseline:with:` was added).

Sooo, moving forward I want to reinforce the use `configuration:with:` and `baseline:with:` while discouraging the use of `project:with:`...The best way to do that is to provide an incentive for using `configuration:with:`:)

Dale

----- Original Message -----
| From: "Sean P. DeNigris" <[hidden email]>
| To: [hidden email]
| Sent: Wednesday, July 4, 2012 8:52:10 PM
| Subject: [Metacello] Re: Dependent project #className:
|
|
| Dale Henrichs wrote
| >
| > I decided to add `configuration:with:` (optional `className:`) and
| > leave
| > `project:with:` as is (required `className:`).
| >
| Why can't it be optional in #project:with: also? What is the
| difference
| between it and #configuration:with:?
|
|
| Dale Henrichs wrote
| >
| >     configuration:'UI' with: [
| >       spec
| >         version: #stable;
| >         repository: 'http://example.com/UI'];
| >     baseline:'UI' with: [
| >       spec
| >         repository: 'http://example.com/UI'];
| >
| Is #baseline:with: equivalent to #configuration:with: [ ... version:
| #bleedingEdge... ]?
|
| --
| View this message in context:
| http://forum.world.st/Dependent-project-className-tp4638262p4638374.html
| Sent from the Metacello mailing list archive at Nabble.com.
|