Implement "package" ant task
diff --git a/build.xml b/build.xml
index 8d72c78..bcff203 100644
--- a/build.xml
+++ b/build.xml
@@ -18,6 +18,8 @@
<property name="resource.dir" location="resources"/>
<property name="lib.dir" location="lib"/>
<property name="junit.jar" location="${lib.dir}/junit-4.8.2.jar"/>
+ <property name="adaptor.class"
+ value="com.google.enterprise.adaptor.sharepoint.SharePointAdaptor"/>
<property name="adaptor.args" value=""/>
<property name="cobertura.dir" value="${basedir}/../cobertura/"/>
<!-- Adaptor suffix for distribution files. Useful for placing version numbers
@@ -162,6 +164,52 @@
<mkdir dir="${build.dir}/dist"/>
<mkdir dir="${build.dir}/dist/staging"/>
<mkdir dir="${dist.dir}"/>
+
+ <!-- adaptor-sharepoint.jar -->
+ <!-- Concatenate dependent JARs together into a comma-delimited list. -->
+ <pathconvert pathsep=" " refid="adaptor.run.classpath"
+ property="tmp.adaptor.classpath">
+ <mapper type="flatten"/>
+ <map from="" to="lib/"/>
+ </pathconvert>
+ <jar destfile="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}.jar"
+ basedir="${build-src.dir}">
+ <fileset dir="${build-generate.dir}"/>
+ <manifest>
+ <attribute name="Main-Class" value="${adaptor.class}"/>
+ <attribute name="Class-Path" value="${tmp.adaptor.classpath}"/>
+ </manifest>
+ </jar>
+
+ <!-- lib/ -->
+ <!-- Concatenate dependent JARs together into a comma-delimited list. -->
+ <pathconvert pathsep="," refid="adaptor.run.classpath"
+ property="tmp.adaptor.fileset">
+ <!-- We remove the lib.dir from the paths to prevent trouble with comma
+ and space in lib.dir. It also makes it nicer <echo>ing
+ tmp.adaptorlib.fileset. -->
+ <map from="${lib.dir}/" to=""/>
+ </pathconvert>
+ <copy todir="${dist.staging.dir}/lib" flatten="true">
+ <fileset dir="${lib.dir}" includes="${tmp.adaptor.fileset}"/>
+ </copy>
+
+ <!-- adaptor-sharepoint-withlib.jar -->
+ <jar filesetmanifest="mergewithoutmain"
+ destfile="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}-withlib.jar">
+ <zipfileset
+ src="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}.jar"/>
+ <zipgroupfileset dir="${dist.staging.dir}/lib"/>
+ <manifest>
+ <attribute name="Main-Class" value="${adaptor.class}"/>
+ </manifest>
+ </jar>
+
+ <!-- adaptor-bin.zip -->
+ <move file="${dist.staging.dir}"
+ tofile="${build.dir}/dist/adaptor-sharepoint${adaptor.suffix}"/>
+ <zip destfile="${dist.dir}/adaptor-sharepoint${adaptor.suffix}-bin.zip"
+ basedir="${build.dir}/dist/adaptor-sharepoint${adaptor.suffix}"/>
</target>
<target name="clean" description="Remove build output">
@@ -170,8 +218,7 @@
</target>
<target name="run" depends="build" description="Run default adaptor">
- <java classpath="${build-src.dir}" fork="true"
- classname="com.google.enterprise.adaptor.sharepoint.SharePointAdaptor">
+ <java classpath="${build-src.dir}" fork="true" classname="${adaptor.class}">
<classpath refid="adaptor.run.classpath"/>
<classpath location="${build-generate.dir}"/>
<sysproperty key="java.util.logging.config.file"