You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Anton Tagunov <at...@mail.cnt.ru> on 2003/09/08 09:57:12 UTC

Re[2]: [primitives][collections] primitive collections and PROPOSAL

Hello Stephen!

SC>  commons-collections.jar - all Object collections (no primitives)
SC>  commons-collections-primitive.jar - all primitive collections (no Objects)
SC> Thus, no package changes, just an additional jar giving users the choice as
SC> to what they want.

SC> If you are happy with this approach, then I will make it so in the release.
SC> Ant shouldn't be a problem, although I'd love to know how Maven copes with
SC> cases like this ;-)

Have never done this myself but have read megabytes of talks about
this on all kinds of lists. The verdict is that you need to have two
projects in maven sence. Two project.xml (or maven.xml?) files.

No other way.

Anton


Re: [primitives][collections] primitive collections and PROPOSAL

Posted by Phil Steitz <ph...@steitz.com>.
Anton Tagunov wrote:
> Hello Stephen!
> 
> SC>  commons-collections.jar - all Object collections (no primitives)
> SC>  commons-collections-primitive.jar - all primitive collections (no Objects)
> SC> Thus, no package changes, just an additional jar giving users the choice as
> SC> to what they want.
> 
> SC> If you are happy with this approach, then I will make it so in the release.
> SC> Ant shouldn't be a problem, although I'd love to know how Maven copes with
> SC> cases like this ;-)
> 
> Have never done this myself but have read megabytes of talks about
> this on all kinds of lists. The verdict is that you need to have two
> projects in maven sence. Two project.xml (or maven.xml?) files.

You can have a single project with subprojects, using one maven.xml to 
get the multi-project build to work.  I did this recently in the sandbox 
commons-naming component.  I followed these examples provided in an 
earlier post by Eric Pugh:

http://xingu.sf.net   (maven build-all)
http://jakarta.apache.org/turbine/fulcrum/  (maven build)

To do it without using Jelly script to execute things manually, the only 
way that I could see to make it work was to break the source tree into 
branches corresponding to the subprojects. So, for example, if you want 
to build org.apache.commons.collection.* (minus primitives) and 
org.apache.commons.collections.primitives.* separately, you would need 
to move from collections/src/... to collections/core/src and 
collections/primitives/src and move the primitives code to the 
primitives tree.  Assuming that core does not depend on primitives, but 
primitives does depend on core, you could add the core jar as a 
dependency in the primitives project.xml and the build should work. 
This is more or less exactly what I did when splitting the resource 
factories out from the core naming stuff in [naming].  I am no maven 
expert, so there is a good chance that there is an easier way to do 
this.  As long as you can split things up as above, however, the 
maven.xml and project.xml setup is very simple.

I would be interested to know if anyone knows a simpler, less disruptive 
approach to make this kind of thing work in maven.

Phil
> 
> No other way.
> 
> Anton
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>