Let's talk about this at JBossWorld.

My thinking is moving towards having the artifacts in each project
rather than using the following in each project.

  |    <!-- The main build -->
  |    <import file="../jbossas/build.xml"/>
  | 

The way I'm seeing this is:

Top Level Builds:
Define the projects that make up the build
Define where to copy artificats from the projects during the "release" process

Project Builds
Define there own artifacts
Define the projects they import

Binary Builds
When the binary versions are downloaded into thirdparty
it also includes the build.xml where the artificats (and project exports) are 
defined

Changes Required:
1) Projects don't use a specific top level build
2) Instead they import a project

  |       <source id="main">
  |          <include project="commons"/>
  | etc.
  | 
3) Each project defines there artifacts and exports
The include project above maps to the following export in
either common/build.xml or thirdparty/common/build.xml depending upon
whether the project is source or binary

  |       <export id="common">
  |          <include input="jboss-common.jar"/>
  |          <include input="namespace.jar"/>
  |       </export>
  | 

PROS
+ The project is no longer tied to a top level build
+ A project can be used in multiple top level builds
+ A project is defined in one place
+ New top level builds with custom project configurations become "trivial"

CONS
- A change to a project might make a top level build's release tags invalid
(e.g. somebody changes a jar name and doesn't update all top level builds where
it is referenced) 
- To support the artificats definition being in either common/ or 
thirdparty/common
it would require that we handle the <include project="common"/>
ourselves, i.e. to drive the xml parsing.
The importStack processing in ant's ProjectHelper2 is described as
experimental in the javadoc.
We need to confirm that this can be used in this use case.
- The synchronization process (cvs update/checkout or download from
repository) becomes more complicated. After we
synchronize the source projects we need to discover whether we have
all the projects referenced on the includes and synchronize those as well.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3867132#3867132

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3867132


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to