Retrieving, configuring and compiling the feed aggregation toolchain

Date: Fri Apr 25 2014 Feed Processing

The feed aggregation toolchain requires the following components:-

First retrieve the current ANT distribution and the current Groovy distribution from their respective sites. Make sure your environment is set up approximately like this

export JAVA_HOME=${HOME}/jdk1.6.0_11
export ANT_HOME=${HOME}/apache-ant-1.7.1
export GROOVY_HOME=${HOME}/groovy-1.6-RC-2
 
export PATH=${JAVA_HOME}/bin:${ANT_HOME}/bin:${GROOVY_HOME}/bin:${PATH}

Then retrieving the feed-aggregation-tools source requires having mercurial set up on your machine.

Then retrieve the other dependencies using code in the build.xml. This may require some changes to the build.xml or else passing properties on the command line, depending on your environment. By default the build.xml installs ROME and JDOM in the feed-aggregation-tools directory.

$ cd feed-aggregation-tools
$ ant setup
Buildfile: build.xml
 
setup-rome:
[get] Getting: https://rome.dev.java.net/dist/rome-1.0RC2.jar

[get] To: /chroot/home/planethe/feed-aggregation-tools/rome-1.0RC2.jar
 
setup-jdom:
[get] Getting: http://jdom.org/dist/binary/jdom-1.1.tar.gz

[get] To: /chroot/home/planethe/feed-aggregation-tools/jdom-1.1.tar.gz
[untar] Expanding: /chroot/home/planethe/feed-aggregation-tools/jdom-1.1.tar.gz into /chroot/home/planethe/feed-aggregation-tools
 
setup:
 
BUILD SUCCESSFUL
Total time: 17 seconds

Finally compile:

$ ant compile
Buildfile: build.xml
 
init-build:
[mkdir] Created dir: /chroot/home/planethe/feed-aggregation-tools/build
 
compile-classes:
[groovyc] Compiling 5 source files to /chroot/home/planethe/feed-aggregation-tools/build
 
compile-scripts:
[groovyc] Compiling 13 source files to /chroot/home/planethe/feed-aggregation-tools/build
 
dojar:
[jar] Building jar: /chroot/home/planethe/feed-aggregation-tools/aggregation.jar
 
compile:
 
BUILD SUCCESSFUL
Total time: 4 seconds

When done you have three .jar's which should be used for running the toolchain:

  • feed-aggregation-tools/aggregation.jar
  • feed-aggregation-tools/rome-1.0RC2.jar
  • feed-aggregation-tools/jdom-1.1/build/jdom.jar