On Feb 9, 2010, at 9:21 AM, Karl Wright wrote: > > 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)
Do you know which Sun licenses? There might be Apache equivalents here. > - 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) OK, we can do LGPL via a download or via Maven. > - LGPL dependency, not requiring upstream modifications in order to run > properly (postgres jdbc driver) Postgres JDBC driver is BSD, right? http://jdbc.postgresql.org/license.html > - 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? We should have a lib dir under trunk that contains the files. Similar to Lucene/Solr > > (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