Original 2.4. With additional eclipse .project/classpath and git ignore
[marc4j.git] / build.xml
diff --git a/build.xml b/build.xml
new file mode 100644 (file)
index 0000000..fcd6ae9
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<project name="marc4j" default="jar" basedir=".">\r
+\r
+       <target name="init">\r
+               <tstamp />\r
+               <record name="build.log" loglevel="verbose" append="no" />\r
+       </target>\r
+\r
+       <property file="build.properties" />\r
+\r
+       <property name="test.class.name" value="org.marc4j.AllTests" />\r
+\r
+       <path id="classpath">\r
+               <fileset dir="${lib.dir}">\r
+                       <include name="**/*.jar" />\r
+               </fileset>\r
+       </path>\r
+\r
+       <path id="test.classpath">\r
+               <pathelement location="${build.dir}" />\r
+               <fileset dir="${lib.dir}">\r
+                       <include name="**/*.jar" />\r
+               </fileset>\r
+       </path>\r
+\r
+       <target name="prepare" depends="init">\r
+               <mkdir dir="${build.dir}" />\r
+       </target>\r
+\r
+       <target name="codetablegen">\r
+               <mkdir dir="${src.dir}/org/marc4j/converter/impl/new" />\r
+               <java fork="true" classname="org.marc4j.converter.impl.CodeTableGenerator" output="${src.dir}/org/marc4j/converter/impl/new/CodeTableGenerated.java" >\r
+                       <classpath location="${build.dir}" />\r
+               </java>\r
+           <copy todir="${src.dir}/org/marc4j/converter/impl/">\r
+               <fileset dir="${src.dir}/org/marc4j/converter/impl/new" includes="**/*.java">\r
+                       <different targetdir="${src.dir}/org/marc4j/converter/impl" ignoreFileTimes="true"/>\r
+               </fileset>\r
+           </copy>\r
+               <delete dir="${src.dir}/org/marc4j/converter/impl/new" /> \r
+       </target>\r
+       \r
+       <target name="compile" depends="prepare">\r
+        <javac srcdir="${src.dir}" destdir="${build.dir}" includes="**/*.java" excludes="**/CodeTableGenerated.java" debug="true" debuglevel="source,lines,vars">\r
+            <classpath refid="classpath" />\r
+        </javac>\r
+        <copy todir="${build.dir}">\r
+            <fileset dir="${src.dir}">\r
+                <include name="**/*.properties" />\r
+                <include name="**/*.xml" />\r
+                <exclude name="**/tests/*" />\r
+                <exclude name="**/tests" />\r
+            </fileset>\r
+        </copy>\r
+               <antcall target="codetablegen"/>\r
+        <javac srcdir="${src.dir}" destdir="${build.dir}" includes="**/CodeTableGenerated.java" debug="false">\r
+            <classpath refid="classpath" />\r
+        </javac>\r
+       </target>\r
+\r
+       <target name="test">\r
+               <junit fork="yes" haltonfailure="yes">\r
+                       <test name="${test.class.name}" />\r
+                       <formatter type="plain" usefile="false" />\r
+                       <classpath refid="test.classpath" />\r
+               </junit>\r
+       </target>\r
+\r
+       <target name="jar" depends="compile">\r
+               <jar jarfile="${project.name}.jar">\r
+                       <fileset dir="${build.dir}">\r
+                               <include name="**/*.class" />\r
+                               <exclude name="**/CodeTableGenerator.class" />\r
+                               <exclude name="**/samples/**/*.*" />\r
+                               <exclude name="**/test/**/*.*" />\r
+                               <include name="**/*.properties" />\r
+                               <include name="**/*.xml" />\r
+                       </fileset>\r
+               </jar>\r
+       </target>\r
+\r
+       <target name="javadoc" depends="init">\r
+               <mkdir dir="${apidoc.dir}" />\r
+               <javadoc destdir="${apidoc.dir}" author="true" version="true" overview="overview.html" use="true" windowtitle="MARC4J API" doctitle="MARC4J API" bottom="Copyright &#169; 2002-2006 Bas Peters. All Rights Reserved.">\r
+                       <packageset dir="src" defaultexcludes="yes">\r
+                               <exclude name="org/marc4j/samples" />\r
+                               <exclude name="org/marc4j/test" />\r
+                       </packageset>\r
+                       <classpath refid="classpath" />\r
+                       <link offline="true" href="http://java.sun.com/products/jdk/1.4/docs/api/" packagelistLoc="." />\r
+                       <link href="http://java.sun.com/j2se/1.4.2/docs/api/" />\r
+               </javadoc>\r
+       </target>\r
+\r
+       <target name="clean" depends="init">\r
+               <delete dir="${dist.dir}" />\r
+               <delete dir="${build.dir}" />\r
+       </target>\r
+\r
+       <target name="dist" depends="jar,javadoc">\r
+               <property name="prefix" value="${project.name}-${version}" />\r
+               <property name="tmp.dir" value="${dist.dir}/tmp" />\r
+               <property name="tmp.arc.dir" value="${tmp.dir}/${prefix}" />\r
+               <property name="dist.arc" value="${dist.dir}/${prefix}" />\r
+               <mkdir dir="${tmp.arc.dir}" />\r
+               <copy todir="${tmp.arc.dir}">\r
+                       <fileset dir=".">\r
+                               <include name="LICENSE.*" />\r
+                               <include name="build.*" />\r
+                               <exclude name="*.log" />\r
+                               <include name="*.jar" />\r
+                               <include name="*.html" />\r
+                       </fileset>\r
+               </copy>\r
+               <copy todir="${tmp.arc.dir}/${src.dir}">\r
+                       <fileset dir="${src.dir}" >\r
+                               <exclude name="**/CodeTableGenerated.java" />\r
+                   </fileset>\r
+               </copy>\r
+               <copy todir="${tmp.arc.dir}/${lib.dir}">\r
+                       <fileset dir="${lib.dir}">\r
+                               <exclude name="junit*.jar" />\r
+                       </fileset>\r
+               </copy>\r
+               <copy todir="${tmp.arc.dir}/${apidoc.dir}">\r
+                       <fileset dir="${apidoc.dir}" />\r
+               </copy>\r
+               <tar tarfile="${dist.arc}.tar" basedir="${tmp.arc.dir}" />\r
+               <gzip zipfile="${dist.arc}.tar.gz" src="${dist.arc}.tar" />\r
+               <delete file="${dist.arc}.tar" />\r
+               <delete file="${dist.arc}.zip" />\r
+               <zip compress="true" basedir="${tmp.dir}" zipfile="${dist.arc}.zip" />\r
+               <delete dir="${tmp.dir}" />\r
+       </target>\r
+\r
+</project>
\ No newline at end of file