Hi!
Is it okay to say that a baseline is a method defined in a configuration (i.e., a class having its name beginning with 'ConfigurationOf') that contains the pragma #version: ? I first though the method name could be used for this (i.e., if it begins with 'baseline'), but some are using a baseline default and minimal. ConfigurationOfMetacello is the only instance I see that contains a baseline with #versions:imports: E.g., baseline10beta18: spec <version: '1.0-beta.18-baseline' imports: #('1.0-beta.17-baseline')> So, what is the rule? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
On 16.02.2011, at 15:01, Alexandre Bergel wrote: > Hi! > > Is it okay to say that a baseline is a method defined in a configuration (i.e., a class having its name beginning with 'ConfigurationOf') that contains the pragma #version: ? > > I first though the method name could be used for this (i.e., if it begins with 'baseline'), but some are using a baseline default and minimal. > > ConfigurationOfMetacello is the only instance I see that contains a baseline with #versions:imports: > E.g., > baseline10beta18: spec > <version: '1.0-beta.18-baseline' imports: #('1.0-beta.17-baseline')> > > So, what is the rule? > I'm no expert in metacello. But what how it appears to me is like that: A version is a method that has a version pragma. The string in the pragma denotes the version. A version can be derived from another version (imports). So you can define a new version from scratch or if you have only little to change you can import and alter another version. That is how it works. The baseline thing is a convention. Package management is always about dependencies and version numbers. A baseline usually denotes the dependencies of the individual components. It only contains version numbers from dependent projects. So loading a baseline gives you always the dependencies and the newest package versions. A version (methods that begin with 'version') imports from a baseline and sets the fixed version number for every individual package that the whole thing is made of. hope this helps, Norbert |
In reply to this post by Alexandre Bergel-5
On 02/16/2011 06:01 AM, Alexandre Bergel wrote:
> Hi! > > Is it okay to say that a baseline is a method defined in a > configuration (i.e., a class having its name beginning with > 'ConfigurationOf') that contains the pragma #version: ? > > I first though the method name could be used for this (i.e., if it > begins with 'baseline'), but some are using a baseline default and > minimal. > > ConfigurationOfMetacello is the only instance I see that contains a > baseline with #versions:imports: E.g., baseline10beta18: spec > <version: '1.0-beta.18-baseline' imports: #('1.0-beta.17-baseline')> > > So, what is the rule? > > Cheers, Alexandre Alexandre, The rule is a that a baseline version is a version whose _blessing_ is #baseline. The name of the method is not important nor is the method used to construct a version important whether it be done with #version: pragma or a #version:imports: pragma. Baseline versions are excluded from the #latestVersion list. Of course, #lastestVersion is on it's way out. By convention, a baseline version defines the structure of a project including repositories, dependencies and project references. Virtually any combination of specs are allowed in a baseline version. Validation for a baseline version reports only errors. You will often see baseline versions being imported into a literal version or another baseline version with the #version:imports: pragma. Validation for a literal version produces warnings for convention violations such as not specifying a specific version for a package or a project reference. Dale |
In reply to this post by NorbertHartl
> A version is a method that has a version pragma. The string in the pragma denotes the version. A version can be derived from another version (imports). So you can define a new version from scratch or if you have only little to change you can import and alter another version. That is how it works.
> > The baseline thing is a convention. Package management is always about dependencies and version numbers. A baseline usually denotes the dependencies of the individual components. It only contains version numbers from dependent projects. So loading a baseline gives you always the dependencies and the newest package versions. A version (methods that begin with 'version') imports from a baseline and sets the fixed version number for every individual package that the whole thing is made of. Thanks Norbert, The subject of my email was a bit naive however. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by Dale Henrichs
> The rule is a that a baseline version is a version whose _blessing_ is #baseline. The name of the method is not important nor is the method used to construct a version important whether it be done with #version: pragma or a #version:imports: pragma.
Ok, excellent! > Baseline versions are excluded from the #latestVersion list. Of course, > #lastestVersion is on it's way out. Yep, it makes sense. > By convention, a baseline version defines the structure of a project > including repositories, dependencies and project references. Virtually any combination of specs are allowed in a baseline version. Validation for a baseline version reports only errors. ah ok!!!! Now I understand the meaning of #versions:imports: in a baseline. New repository and dependencies may be added. Avoiding to duplicate the baseline. > Validation for a literal version produces warnings for convention violations such as not specifying a specific version for a package or a project reference. The validation is extremely important. I really appreciate your work. It is really to be able to do: (MetacelloToolBox validateConfiguration: ConfigurationOfMoose) explore. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
Free forum by Nabble | Edit this page |