#############################################################################
# BUILDING JSPF
#############################################################################

You will need to install maven2 as well as acquire jSPF source from subversion 
or a source tarball.

Steps:

1) Install maven2 (v2.0.7 as of the time of this writing)

2) Add maven2 to your path.  For me, I do the following:
   $ tar zxvf maven-2.0.7.tar.gz
   $ mv maven-2.0.7 /usr/local
   $ ln -sf /usr/local/maven-2.0.7/bin/mvn /usr/local/bin/mvn

3) Change directory to jspf source dir
   $ cd jspf-x/
   
4) Run the build (the "-Plocal" restrict maven to use bundled dependencies)
   $ mvn -Plocal package

Please note that due to http://jira.codehaus.org/browse/MNG-2896
if you don't have james-project checked out in ../james-project
you will have to alter the local stage repository url in the pom.xml
file to use your absolute path to the project instead of ${basedir}, 
or, otherwise, manually install the parent poms

#windows:
mvn -fignorepom.xml install:install-file \ 
    -Dfile=stage\org.apache.james\poms\james-parent-1.1.pom \ 
    -Dpackaging=pom \
    -DgroupId=org.apache.james \
    -DartifactId=james-parent \
    -Dversion=1.1
mvn -fignorepom.xml install:install-file \ 
    -Dfile=stage\org.apache.james\poms\james-project-1.2.pom \ 
    -Dpackaging=pom \
    -DgroupId=org.apache.james \ 
    -DartifactId=james-project \
    -Dversion=1.2

#linux:
mvn -fignorepom.xml install:install-file \ 
    -Dfile=stage/org.apache.james/poms/james-parent-1.1.pom \ 
    -Dpackaging=pom \
    -DgroupId=org.apache.james \ 
    -DartifactId=james-parent \
    -Dversion=1.1
mvn -fignorepom.xml install:install-file \ 
    -Dfile=stage/org.apache.james/poms/james-project-1.2.pom \ 
    -Dpackaging=pom \
    -DgroupId=org.apache.james \ 
    -DartifactId=james-project \
    -Dversion=1.2

That's it.  Please contact server-dev@james.apache.org if you have any
problems.
