incubator-connectors-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Wright <kwri...@metacarta.com>
Subject Ant builds
Date Tue, 09 Feb 2010 14:21:36 GMT

I'm looking at what is required for ant builds of LCF, and for this I sort of want to understand
"accepted practices" for Apache 
builds of this kind.

(1) Structure

LCF will build many distinct jars, which need to be kept distinct because not all deployments
can build or include all 
functionality.  So there will be, at minimum:

- A set of jars representing the framework itself
- A set of jars for each connector

I say a "set" here, because some components (e.g. the framework and the documentum connector)
do in fact contain multiple 
sub-components.

The question is - do we want a single ant build for the whole thing?  Or independent ant builds
for each major component?  Based 
on the way it's packaged in debian for MetaCarta, independent components would be better.
 Is that acceptable?

(2) Dependencies

LCF requires upstream dependencies, many from apache, others from third parties such as postgresql.
 The dependencies come in 
the following flavors:
- Sun dependency (standard jsp tag library jars and tlds: jstl.jar, standard.jar, sql.tld,
c.tld, fmt.tld, x.tld, and servlet.jar)
- Apache dependency, unexceptional (commons-fileupload, commons-collections, commons-codec,
commons-logging, log4j, axis, castor)
- Apache dependency, requiring upstream modifications in order to build properly (commons-httpclient,
xerces2-java)
- LGPL dependency, possibly requiring upstream modifications in order to run properly (jcifs)
- LGPL dependency, not requiring upstream modifications in order to run properly (postgres
jdbc driver)
- BSD jar dependency (Bitstream pool driver, jdbcpool-0.99.jar)
- Third party proprietary jars (not enumerated here)
- Dependencies which will be immediately removed (metacarta-license.jar)

I take it we'll just presume, for the purposes of ant, that the correctly generated jars are
just dropped in the ant/lib area? 
What ant build strategy should we use for all of the above categories?

(3) Axis/castor build items

Connectors that build from wsdls or xsds use axis or castor to generate the appropriate java
class code.  Is there a standard 
Apache ant task that we can use for these?

Thanks,
Karl

Mime
View raw message