[GeoNetwork-devel] Agenda for GeoNetwork hacking in Bolsena&release planning [SEC=UNCLASSIFIED]

Hi All,
Another agenda item for Bolsena, the Ant build process.

Looking at the repository it appears that generated work product, that is
files produced by the build process, sometimes get committed. Examples are
JAR files, javadoc and generated manuals.

This can be prevented by using subversion ignore controls but the fundamental
problem is that the build script writes back into the input file structure.

I propose that the build script be modified. Add the following directories to
the build process:

build - location for compiled java code (.class files)
dist/lib - contains generated Jar files (e.g. geonetwork.jar)
dist/web - assembled web application in exploded WAR format (deployable)
dist/docs - javadoc output

This way, all generated output is separated from the source that built it.
This will prevent generated output being committed to the SVN tree.

A sample build script is attached.

Regards,
Stephen

PS. At our site developers have individual database copies. config.xml is
tokenised so that individual settings are used. The tokenised <resource>
fragment looks like this:

<resource enabled="true">
  <name>main-db</name>
  <provider>jeeves.resources.dbms.DbmsPool</provider>
  <config>
    <user>@db.userid@</user>
    <password>@db.password@</password>
    <driver>oracle.jdbc.OracleDriver</driver>
    <url>jdbc:oracle:thin:@@db.instance@</url>
    <poolSize>10</poolSize>
  </config>
</resource>

(attachments)

build.xml (7.89 KB)