You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Jörg Schaible <jo...@gmx.de> on 2004/02/21 23:26:51 UTC

[PROPOSAL]: Version consistency using enities (was: Versioning scheme)

Niclas Hedhman wrote:
> On Saturday 21 February 2004 17:21, Leo Simons wrote:
>> Leo Sutic wrote:
>> > Should we adopt this?
>>
>> sounds like a plan. It will be difficult to stick to. Avalon is rather
>> unique in releasing lots of small bits seperately :D
> 
> Currently we have some 'inefficiencies" in the versioning of all the
> products. For instance, it is almost impossible to know all the places
> where changes are required when you need to bump the versions.
> I used to employ the "copy all source to build directory with a 'replace'
> filter", which I think I learned from Cocoon, and then have one file for
> the versioning information.
> 
> Once that is in place, it would be fairly easy to automate the whole
> release process as well.

Well, you can introduce entities in your project XML files for dependencies
and versions. In the end you will not have one file with all versions, but
a directory will all entities containing the version or dependency. I am
using this in a project and it works wonderful.


Example for a modified framework/api/project.xml
===================================

<!DOCTYPE project [ 
  <!ENTITY dep-logkit SYSTEM "../../buildsystem/dependency/logkit.entity"> 
]> 
[...]
<dependencies>
  &dep-logkit;
</dependencies>
[...]



Example for a modified framework/impl/project.xml
===================================

<!DOCTYPE project [ 
  <!ENTITY dep-avalon-framework-api SYSTEM
"../../buildsystem/dependency/avalon-framework-api.entity"> 
  <!ENTITY dep-xml-apis SYSTEM
"../../buildsystem/dependency/xml-apis.entity"> 
  <!ENTITY dep-xerces SYSTEM "../../buildsystem/dependency/xerces.entity"> 
  <!ENTITY dep-xalan SYSTEM "../../buildsystem/dependency/xalan.entity"> 
  <!ENTITY dep-logkit SYSTEM "../../buildsystem/dependency/logkit.entity"> 
  <!ENTITY dep-junit SYSTEM "../../buildsystem/dependency/junit.entity"> 
]> 
[...]
<dependencies>
  &dep-avalon-framework-api;
  &dep-xml-apis;
  &dep-xerces;
  &dep-xalan;
  &dep-logkit;
  &dep-junit;
</dependencies>
[...]


Working with entities has one drawback: They are always relative to the file
they're included. So if you include a project.xml from another directory
level, the entities are not found.

Fortunately dependencies are in Avalon currently declared only in
project.xml's two levels deep, so this proposal will work! Additionally it
will ensure that never two Avalon assemblies will reference the same
assembly as dependency in two different versions.

Regards,
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [PROPOSAL]: Version consistency using enities (was: Versioning scheme)

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Sunday 22 February 2004 20:55, Jörg Schaible wrote:
> Niclas Hedhman wrote:
> > On Sunday 22 February 2004 06:26, Jörg Schaible wrote:
> >> Well, you can introduce entities in your project XML files for
> >> dependencies and versions. In the end you will not have one file with
> >> all versions, but a directory will all entities containing the version
> >> or dependency.
> >
> > Works great if all versioning information sits in XML files... which
> > unfortunately is not true :o/
>
> What do you refer in special?

Maybe it is only me, but I typically have a large array of content that is 
updated over the course of a product life cycle, version of your own and 
other products being one.

The fact that I do build a generic build system, that handles "my type" of 
projects, even done outside my own organization and team, means that stuff 
like;
Company Names
Product or Project Names
Contact names and numbers.
URLs of many types.
Licensing references and inclusions.
and a bunch more I can recall just off-hand...

And having a list of 2 dozen "Macros" that you insert whereever you need, 
without having to worry how that is resolved is just great.

(I even have a build system that builds build systems for customers, in this 
fashion.)


Cheers
Niclas

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [PROPOSAL]: Version consistency using enities (was: Versioning scheme)

Posted by Jörg Schaible <jo...@gmx.de>.
Niclas Hedhman wrote:

> On Sunday 22 February 2004 06:26, Jörg Schaible wrote:
>> Well, you can introduce entities in your project XML files for
>> dependencies and versions. In the end you will not have one file with all
>> versions, but a directory will all entities containing the version or
>> dependency.
> 
> Works great if all versioning information sits in XML files... which
> unfortunately is not true :o/

What do you refer in special?

Regards,
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [PROPOSAL]: Version consistency using enities (was: Versioning scheme)

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Sunday 22 February 2004 06:26, Jörg Schaible wrote:
> Well, you can introduce entities in your project XML files for dependencies
> and versions. In the end you will not have one file with all versions, but
> a directory will all entities containing the version or dependency. 

Works great if all versioning information sits in XML files... which 
unfortunately is not true :o/


Niclas


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org