[jsword-devel] Patch for nightly build

DM Smith dmsmith555 at yahoo.com
Thu Jul 22 11:06:16 MST 2004

I have a bunch of changes to the build process:
I changed all the */etc/eclipse/*-ant-build.launch to have "build" as
its only target. This was necessary to prevent redundant building of the

To core.xml, I made the following improvements/changes:
Added a patternset for the files that are compiled.
Added *.class to the excludes for the java.non.compile patternset.
Added an "incremental" target which is just like "all" but does not call
clean first.
Added an "install" target which does nothing but can be overridden.
Added "install.dependency" for chaining of build files.
Added install to the all and incremental targets after test.
Renamed testbuild to test and made it depend on test.suite.
Added "test.suite" as a do nothing target for overriding.
Added "test.dependency" to chain testing of projects.
Simplified the dependencies for "build" and made build generate the jar 
Removed keygen from the dependencies of prepare and removed the signing
of the jar. (I changed the whole jar signing mechanism)
Commented out ant call to prepare.extra as it is not currently used.
Changed the mapper in the copying of resources from creating a dotted
file to placing the resource in the correct directory. (This is a bug
fix). This works under Eclipse 3.0 but I am not sure if it works with a
separate ant build. I think it requires ant 1.6+.
Commented out ant call to compile.extra as it is not currently used.
Added an echo to compile.extra for the time when we add it back in.
Removed the dependency "compile" from "testcompile". This dependency is
true but it creates lots of repetition in the execution of a full build.
Merged jar.section into the jar.sign macrodef and added more params to
jar.sign to specify where the jar is coming from and where it is going to.
The upshot to jar.sign is that is now a task that can be used during

To common/build.xml I removed the prepare.extra and directly accessed
the config-test.xsl in bibledesktop/build.xml.

To bibledesktop/build.xml, I made the following changes:
I signed the jars as part of the install process. It turns out that the
former mechanism was resigning all the jars if anyone of them changed.
target/ant/bibledesktop now contains working, local bibledesktop.jnlp.
There is a bit of os specific code in the generation of the local jnlp.
I am leaving it till later to fix it to work under Linux.

I changed bibledesktop.jnlp to not prefix hostname w/ http:// as this
does not work for a local install. I added common.jar which was missing.

To jsword, I am resubmitting a change I made to AbstractPassage as it
did not survive the last merge.

To jsword-support, I changed the build files for all the "tools" that
jsword-web/build.xml uses. I moved the taskdefs out of the target.
To checkstyle, I changed the custom.xml to allow bibledesktop as a
package name. It was complaining that it was too long.
To findbugs/build.xml, I fixed the log4j version number.
To javadoc/build.xml, I changed the invocation and made it work with jdk1.4.
To javancss/build.xml, I fixed the srcdir and added includes.
To jdepend/build.xml, I fixed it so it would work.
To pmd/build.xml, I added a taskdef for cpd and used it instead of java
call. CPD is very fast now.
In tomcat/build.xml, I prefixed all the target names with "tomcat." The
install target was causing confusion with the new core.xml install target.

I made lots of changes to jcoverage/build.xml, basically it works again
and it now works on the whole of the tested code.
I added a target alltests that will run all the tests and reports in it.
The jcoverage tasks were changed from task calls to java calls as this
allowed the separate projects and source trees to be treated as one.
The upshot is that testing jsword improves the coverage analysis of common.
I added a "fail" in the call to junit. This will prevent the
installation of code with known bugs in it.
I also added log4j.properties so that jcoverage is quiet wrt to debug.
It was slowing down the run and my machine too much with IO.

To jsword-web, I made the following changes:
I added some transient files to .cvsignore.
I changed rebuild.sh to use the ant build target incremental rather than

To build.xml, I added some properties to make new stuff look good.
I removed comments on each of the imports of tools as each works now.
But, I commented out the tomcat as I am not set up to test it. (I have
not installed it yet.)

I changed things around a bit in build.xml.
I renamed web to be install (the new core target).
I added jnlp which builds the web jnlp stuff by copying it from
I renamed the target "files" to "webapp" and removed its dependency. The
dependency was technically correct but causes redundancy on the normal
pathways through the build.
I removed the dependency on release.version. It was recursive in nature.
I changed the binary zip to use the locally built jnlp directory.
To the tools target, I added javadoc, pmd, cpd and jdepend.

To devt.html, I fixed some dead links.

To download.jsp, I fixed the name of the jnlp file (used to be jsword,
now its bibledesktop)

To template.xsl, I fixed some broken links.

To etc/eclipse, I added, deleted, updated and fixed the ant launch files.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: buildpatches.zip
Type: application/x-zip-compressed
Size: 16380 bytes
Desc: not available
Url : http://www.crosswire.org/pipermail/jsword-devel/attachments/20040722/f3a7af75/buildpatches.bin

More information about the jsword-devel mailing list