<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. The ASF licenses this file to You | |
under the Apache License, Version 2.0 (the "License"); you may not | |
use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. For additional information regarding | |
copyright in this work, please see the NOTICE file in the top level | |
directory of this distribution. --> | |
<project name="abdera" default="build" basedir=".."> | |
<!-- | |
abdera Build | |
targets: | |
* build (compile everything) | |
* test (compile and run test cases) | |
* dist (compile, test and create jars) | |
* clean (rather self explanatory) | |
* docs (build the javadocs) | |
Set the ABDERA_XMLSECURITY=yes environment variable to build the security module | |
Set the ABDERA_SPRING=yes environment variable to build the spring module | |
--> | |
<property name="version" value="1.1.1" /> | |
<property name="site" value="../site" /> | |
<property name="work" value="${basedir}/build/work" /> | |
<property name="test" value="${basedir}/build/test" /> | |
<property name="dist" value="${basedir}/dist" /> | |
<property name="dist_lib" value="${dist}/lib" /> | |
<property name="docs" value="${dist}/docs" /> | |
<property name="javadocs" value="${docs}/api" /> | |
<property name="core" value="${basedir}/core" /> | |
<property name="core.src" value="${core}/src/main/java" /> | |
<property name="core.resources" value="${core}/src/main/resources" /> | |
<property name="core.test" value="${core}/src/test/java" /> | |
<property name="core.test.resources" value="${core}/src/test/resources" /> | |
<property name="core.work" value="${work}/core" /> | |
<property name="core.jar" value="${dist}/${ant.project.name}.core.${version}.jar" /> | |
<property name="parser" value="${basedir}/parser" /> | |
<property name="parser.src" value="${parser}/src/main/java" /> | |
<property name="parser.resources" value="${parser}/src/main/resources" /> | |
<property name="parser.test" value="${parser}/src/test" /> | |
<property name="parser.test.java" value="${parser}/src/test/java" /> | |
<property name="parser.test.resources" value="${parser}/src/test/resources" /> | |
<property name="parser.work" value="${work}/parser" /> | |
<property name="parser.jar" value="${dist}/${ant.project.name}.parser.${version}.jar" /> | |
<property name="server" value="${basedir}/server" /> | |
<property name="server.src" value="${server}/src/main/java" /> | |
<property name="server.work" value="${work}/server" /> | |
<property name="server.jar" value="${dist}/${ant.project.name}.server.${version}.jar" /> | |
<property name="server.test.java" value="${server}/src/test/java" /> | |
<property name="server.test.resources" value="${server}/src/test/resources" /> | |
<property name="complete.jar" value="${dist}/${ant.project.name}.complete.${version}.jar" /> | |
<property name="spring" value="${basedir}/spring" /> | |
<property name="spring.src" value="${spring}/src/main/java" /> | |
<property name="spring.resources" value="${spring}/src/main/resources" /> | |
<property name="spring.test.src" value="${spring}/src/test/java" /> | |
<property name="spring.test.resources" value="${spring}/src/test/resources" /> | |
<property name="spring.work" value="${work}/spring" /> | |
<property name="spring.jar" value="${dist}/${ant.project.name}.spring.${version}.jar" /> | |
<property name="security" value="${basedir}/security" /> | |
<property name="security.src" value="${security}/src/main/java" /> | |
<property name="security.work" value="${work}/security" /> | |
<property name="security.test.java" value="${security}/src/test/java" /> | |
<property name="security.test.resources" value="${security}/src/test/resources" /> | |
<property name="security.jar" value="${dist}/${ant.project.name}.security.${version}.jar" /> | |
<property name="client" value="${basedir}/client" /> | |
<property name="client.src" value="${client}/src/main/java" /> | |
<property name="client.work" value="${work}/client" /> | |
<property name="client.test.java" value="${client}/src/test/java" /> | |
<property name="client.jar" value="${dist}/${ant.project.name}.client.${version}.jar" /> | |
<property name="extensions" value="${basedir}/extensions" /> | |
<property name="extensions.work" value="${work}/extensions" /> | |
<property name="extensions.jar.base" value="${dist}/ext/${ant.project.name}.extensions" /> | |
<!-- | |
<property name="extensions.src" value="${extensions}/src/main/java" /> | |
<property name="extensions.resources" value="${extensions}/src/main/resources" /> | |
<property name="extensions.test.java" value="${extensions}/src/test/java" /> | |
<property name="extensions.test.resources" value="${extensions}/src/test/resources" /> | |
<property name="extensions.jar" value="${dist}/${ant.project.name}.extensions.${version}.jar" /> | |
--> | |
<property name="examples" value="${basedir}/examples" /> | |
<property name="examples.work" value="${work}/examples" /> | |
<property name="examples.src" value="${examples}/src/main/java" /> | |
<property name="debug" value="on" /> | |
<property environment="env" /> | |
<property name="dependencies" value="${basedir}/dependencies" /> | |
<property name="dependencies.work" value="${dependencies}/work" /> | |
<property name="i18n.src" value="${dependencies}/i18n/src" /> | |
<property name="i18n.src.java" value="${i18n.src}/main/java" /> | |
<property name="i18n.src.resources" value="${i18n.src}/main/resources" /> | |
<property name="i18n.version" value="${version}" /> | |
<property name="i18n.jar" value="${dependencies}/abdera-i18n-${i18n.version}.jar" /> | |
<property name="i18n.test.java" value="${i18n.src}/test/java" /> | |
<property file="${dependencies}/deps.properties" /> | |
<path id="jar.dependencies"> | |
<fileset dir="${dependencies}" includes="**/*.jar" /> | |
<fileset file="${i18n.jar}" /> | |
</path> | |
<target name="compile.dependencies"> | |
<mkdir dir="${dependencies.work}/i18n" /> | |
<javac srcdir="${i18n.src.java}" classpathref="jar.dependencies" destdir="${dependencies.work}/i18n" debug="${debug}" /> | |
<javac srcdir="${i18n.test.java}" classpathref="jar.dependencies" classpath="${dependencies.work}/i18n" destdir="${test}" debug="${debug}" /> | |
<copy todir="${dependencies.work}/i18n"> | |
<fileset dir="${i18n.src.resources}" includes="**/*" /> | |
</copy> | |
<mkdir dir="${dependencies.work}/i18n/META-INF" /> | |
<copy todir="${dependencies.work}/i18n/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
<jar destfile="${i18n.jar}" basedir="${dependencies.work}/i18n" includes="org/apache/abdera/i18n/**/*" /> | |
</target> | |
<target name="dependencies"> | |
<path id=""> | |
<fileset dir="dependencies" includes="*.jar" /> | |
</path> | |
</target> | |
<target name="init"> | |
<echo> | |
===================================================== | |
${ant.project.name}, ${version} | |
Working directory: ${work} | |
===================================================== | |
</echo> | |
<mkdir dir="${test}" /> | |
<condition property="do.download.feedvalidator.tests"> | |
<not> | |
<available file="${parser.test.resources}/feedvalidator.org/testcases/atom" /> | |
</not> | |
</condition> | |
<condition property="do.download"> | |
<not> | |
<and> | |
<available file="${dependencies}/${geronimo.activation.jar}" /> | |
<available file="${dependencies}/${geronimo.servlet.jar}" /> | |
<available file="${dependencies}/${axiom.api.jar}" /> | |
<available file="${dependencies}/${axiom.impl.jar}" /> | |
<available file="${dependencies}/${jaxen.jar}" /> | |
<available file="${dependencies}/${log4j.jar}" /> | |
<available file="${dependencies}/${stax.api.jar}" /> | |
<available file="${dependencies}/${commons.logging.jar}" /> | |
<available file="${dependencies}/${commons.codec.jar}" /> | |
<available file="${dependencies}/${commons.httpclient.jar}" /> | |
<available file="${dependencies}/${junit.jar}" /> | |
<available file="${dependencies}/${wstx.jar}" /> | |
<available file="${dependencies}/${jetty.jar}" /> | |
<available file="${dependencies}/${jetty-util.jar}" /> | |
<available file="${dependencies}/${htmlparser.jar}" /> | |
<available file="${dependencies}/${htmlserializer.jar}" /> | |
<available file="${dependencies}/${easymock.jar}" /> | |
<available file="${dependencies}/${easymockclassextension.jar}" /> | |
<available file="${dependencies}/${javamail.jar}" /> | |
<available file="${dependencies}/${xmlunit.jar}" /> | |
</and> | |
</not> | |
</condition> | |
<condition property="do.security"> | |
<istrue value="${env.ABDERA_XMLSECURITY}" /> | |
</condition> | |
<condition property="do.download.security"> | |
<and> | |
<istrue value="${do.security}" /> | |
<not> | |
<and> | |
<available file="${dependencies}/${xmlsecurity.jar}" /> | |
<available file="${dependencies}/${bouncycastle.jar}" /> | |
</and> | |
</not> | |
</and> | |
</condition> | |
<condition property="do.spring"> | |
<istrue value="${env.ABDERA_SPRING}" /> | |
</condition> | |
<condition property="do.download.spring"> | |
<and> | |
<istrue value="${do.spring}" /> | |
<not> | |
<and> | |
<available file="${basedir}/build/tools/${spring.zip}" /> | |
</and> | |
</not> | |
</and> | |
</condition> | |
<mkdir dir="${work}" /> | |
<manifest file="${work}/MANIFEST.MF"> | |
<attribute name="Specification-Title" value="Apache Abdera" /> | |
<attribute name="Specification-Version" value="${version}" /> | |
<attribute name="Specification-Vendor" value="The Apache Software Foundation" /> | |
<attribute name="Implementation-Title" value="org.apache.abdera" /> | |
<attribute name="Implementation-Version" value="${version}" /> | |
<attribute name="Implementation-Vendor" value="The Apache Software Foundation" /> | |
</manifest> | |
<echo>Building Security? ${do.security}</echo> | |
<echo>Building Spring? ${do.spring}</echo> | |
<antcall target="download" /> | |
<antcall target="downloadsecurity" /> | |
<antcall target="downloadspring" /> | |
</target> | |
<target name="compile.core" depends="init,compile.dependencies"> | |
<mkdir dir="${core.work}" /> | |
<javac srcdir="${core.src}" destdir="${core.work}" classpathref="jar.dependencies" debug="${debug}" /> | |
<javac srcdir="${core.test}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" /> | |
<mkdir dir="${core.work}/META-INF" /> | |
<copy todir="${core.work}"> | |
<fileset dir="${core.resources}" includes="**/*" /> | |
</copy> | |
<copy todir="${test}"> | |
<fileset dir="${core.test.resources}"> | |
<include name="**" /> | |
</fileset> | |
</copy> | |
<copy todir="${core.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.parser" depends="init,compile.core"> | |
<mkdir dir="${parser.work}" /> | |
<javac srcdir="${parser.src}" destdir="${parser.work}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" /> | |
<javac srcdir="${parser.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work}" debug="${debug}" /> | |
<mkdir dir="${parser.work}/META-INF" /> | |
<copy todir="${parser.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
<copy todir="${parser.work}"> | |
<fileset dir="${parser.resources}" includes="**/*" /> | |
</copy> | |
<copy todir="${test}"> | |
<fileset dir="${parser.test.resources}"> | |
<include name="**" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.server" depends="init, compile.core, compile.client"> | |
<mkdir dir="${server.work}" /> | |
<javac srcdir="${server.src}" destdir="${server.work}" classpathref="jar.dependencies" classpath="${core.work}" debug="${debug}" /> | |
<javac srcdir="${server.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${server.work};${client.work}" debug="${debug}" /> | |
<mkdir dir="${server.work}/META-INF" /> | |
<copy todir="${server.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
<copy todir="${test}"> | |
<fileset dir="${server.test.resources}"> | |
<include name="**" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.spring" depends="compile.server" if="do.spring"> | |
<path id="spring.dependencies"> | |
<path refid="jar.dependencies" /> | |
<fileset dir="${basedir}/build/tools/${spring.name}/dist" includes="**/*.jar" /> | |
<fileset dir="${basedir}/build/tools/${spring.name}/dist/modules" includes="**/*.jar" /> | |
</path> | |
<mkdir dir="${spring.work}" /> | |
<javac srcdir="${spring.src}" destdir="${spring.work}" classpathref="spring.dependencies" classpath="${core.work};${server.work}" debug="${debug}" /> | |
<javac srcdir="${spring.test.src}" destdir="${test}" classpathref="spring.dependencies" classpath="${core.work};${parser.work};${spring.work};${server.work}" debug="${debug}" /> | |
<mkdir dir="${spring.work}/META-INF" /> | |
<copy todir="${spring.work}"> | |
<fileset dir="${spring.resources}" includes="**/*" /> | |
</copy> | |
<copy todir="${test}"> | |
<fileset dir="${spring.test.resources}" includes="**/*" /> | |
</copy> | |
<copy todir="${spring.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.security" depends="init, compile.core, compile.server" if="do.security"> | |
<mkdir dir="${security.work}" /> | |
<javac srcdir="${security.src}" destdir="${security.work}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${client.work};${server.work}" debug="${debug}" /> | |
<javac srcdir="${security.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${security.work};${client.work};${server.work}" debug="${debug}" /> | |
<mkdir dir="${security.work}/META-INF" /> | |
<copy todir="${test}"> | |
<fileset dir="${security.test.resources}" includes="**/*" /> | |
</copy> | |
<copy todir="${security.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.client" depends="init,compile.core"> | |
<mkdir dir="${client.work}" /> | |
<javac srcdir="${client.src}" destdir="${client.work}" classpathref="jar.dependencies" classpath="${core.work};" debug="${debug}" /> | |
<javac srcdir="${client.test.java}" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${extensions.work};${client.work}" debug="${debug}" /> | |
<mkdir dir="${client.work}/META-INF" /> | |
<copy todir="${client.work}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile.examples" depends="init,compile.core,compile.parser,compile.server,compile.extensions,compile.security"> | |
<echo>Make sure the example code compiles...</echo> | |
<mkdir dir="${examples.work}" /> | |
<javac srcdir="${examples.src}" destdir="${examples.work}" classpathref="jar.dependencies" | |
classpath="${core.work};${parser.work};${client.work};${server.work};${extensions.work}/gdata;${extensions.work}/main;${security.work};${extensions.work}/sharing;${extensions.work}/geo;${extensions.work}/serializer;${extensions.work}/features" debug="${debug}"> | |
<exclude unless="do.security" name="**/security/*.java" /> | |
</javac> | |
<delete dir="${examples.work}" /> | |
</target> | |
<target name="build" depends="init,compile.core,compile.parser,compile.server,compile.extensions,compile.client,compile.security,compile.examples,compile.spring"> | |
</target> | |
<target name="docs" depends="init"> | |
<javadoc | |
packagenames="org.apache.abdera.*" | |
sourcepath="${core.src}:${security.src}:${server.src}:${client.src}:${spring.src}:${i18n.src.java}:${extensions}/gdata/src/main/java:${extensions}/geo/src/main/java:${extensions}/html/src/main/java:${extensions}/json/src/main/java:${extensions}/main/src/main/java:${extensions}/media/src/main/java:${extensions}/oauth/src/main/java:${extensions}/opensearch/src/main/java:${extensions}/serializer/src/main/java:${extensions}/sharing/src/main/java:${extensions}/wsse/src/main/java" | |
destdir="${javadocs}" | |
windowtitle="Abdera" | |
classpathref="jar.dependencies" /> | |
<replaceregexp match="Generated by javadoc (.*) on (.*) --" replace="Generated by javadoc --" flags="g" byline="true"> | |
<fileset dir="${javadocs}" includes="**/*.html" /> | |
</replaceregexp> | |
<copy todir="${docs}"> | |
<fileset dir="${basedir}/docs/" includes="*.html" /> | |
</copy> | |
</target> | |
<target name="test" depends="build, download_feedvalidator_tests"> | |
<echo>Running i18n Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${dependencies.work}/i18n:${test}" classname="org.apache.abdera.i18n.test.iri.TestSuite" fork="yes" /> | |
<echo>Running Core Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${test}" classname="org.apache.abdera.test.core.TestSuite" fork="yes" /> | |
<echo>Running Stax Parser Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${test}" classname="org.apache.abdera.test.parser.stax.TestSuite" fork="yes" /> | |
<echo>Running Client Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${client.work}:${test}" classname="org.apache.abdera.test.client.TestSuite" fork="yes" /> | |
<echo>Running Server Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${client.work}:${test}" classname="org.apache.abdera.protocol.server.test.TestSuite" fork="yes" /> | |
<antcall target="test.extensions" /> | |
<antcall target="test.security" /> | |
</target> | |
<target name="test.security" if="do.security"> | |
<echo>Running Security Tests...</echo> | |
<java classpathref="jar.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${security.work}:${client.work}:${test}" classname="org.apache.abdera.test.security.TestSuite" fork="yes"> | |
<arg line="${bouncycastle.provider}" /> | |
</java> | |
</target> | |
<target name="test.spring" depends="compile.spring" if="do.spring"> | |
<echo>Running Spring Tests...</echo> | |
<path id="spring.dependencies"> | |
<path refid="jar.dependencies" /> | |
<fileset dir="${basedir}/build/tools/${spring.name}/dist" includes="**/*.jar" /> | |
<fileset dir="${basedir}/build/tools/${spring.name}/dist/modules" includes="**/*.jar" /> | |
</path> | |
<java classpathref="spring.dependencies" classpath="${core.work}:${parser.work}:${server.work}:${security.work}:${client.work}:${spring.work}:${test}" classname="org.apache.abdera.spring.TestSuite" fork="yes"> | |
</java> | |
</target> | |
<target name="clean"> | |
<delete dir="${work}" /> | |
<delete dir="${test}" /> | |
<delete dir="${dist}" /> | |
<delete dir="${dependencies.work}" /> | |
<delete file="${i18n.jar}" /> | |
<delete> | |
<fileset dir="${basedir}" includes="*.zip" /> | |
<fileset dir="${basedir}" includes="*.md5" /> | |
</delete> | |
</target> | |
<target name="dist" depends="clean,build,test,docs"> | |
<mkdir dir="${dist}" /> | |
<mkdir dir="${dist_lib}" /> | |
<jar destfile="${complete.jar}" manifest="${work}/MANIFEST.MF" > | |
<fileset dir="${core.work}" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${core.work}" includes="META-INF/LICENSE,META-INF/NOTICE"/> | |
<fileset dir="${parser.work}" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${server.work}" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${client.work}" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${dependencies.work}/i18n" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/main" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/json" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/html" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/html" includes="META-INF/*.htmlparser.txt,META-INF/*.serializer.txt" /> | |
<fileset dir="${extensions.work}/geo" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/gdata" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/media" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/oauth" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/opensearch" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/serializer" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/sharing" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions.work}/wsse" includes="**/*" excludes="META-INF/**/*"/> | |
<fileset dir="${extensions}/complete/resources" includes="**/*" /> | |
</jar> | |
<jar destfile="${core.jar}" basedir="${core.work}" manifest="${work}/MANIFEST.MF" /> | |
<jar destfile="${parser.jar}" basedir="${parser.work}" manifest="${work}/MANIFEST.MF" /> | |
<jar destfile="${server.jar}" basedir="${server.work}" manifest="${work}/MANIFEST.MF" /> | |
<jar destfile="${client.jar}" basedir="${client.work}" manifest="${work}/MANIFEST.MF" /> | |
<antcall target="dist.extensions" /> | |
<antcall target="dist.security" /> | |
<antcall target="dist.spring" /> | |
<copy todir="${dist_lib}"> | |
<fileset dir="${dependencies}" /> | |
</copy> | |
<delete dir="${work}" /> | |
<delete dir="${test}" /> | |
</target> | |
<target name="dist.security" if="do.security"> | |
<jar destfile="${security.jar}" basedir="${security.work}" manifest="${work}/MANIFEST.MF" /> | |
<jar destfile="${complete.jar}" update="true"> | |
<fileset dir="${security.work}" includes="**/*" excludes="META-INF/**/*" /> | |
</jar> | |
</target> | |
<target name="dist.spring" if="do.spring"> | |
<jar destfile="${spring.jar}" basedir="${spring.work}" manifest="${work}/MANIFEST.MF" /> | |
</target> | |
<target name="zip" depends="retro"> | |
<antcall target="adapters" /> | |
<mkdir dir="${work}/dist/${ant.project.name}.${version}" /> | |
<mkdir dir="${work}/dist/${ant.project.name}.${version}/examples" /> | |
<copy todir="${work}/dist/${ant.project.name}.${version}"> | |
<fileset dir="${dist}"> | |
<include name="**/*.jar" /> | |
<include name="**/legal/*" /> | |
<exclude name="**/legal/retroweaver-LICENSE.txt" /> | |
<exclude name="**/*.retro.jar" /> | |
<exclude name="**/${bouncycastle.jar}" /> | |
<exclude name="**/${geronimo.servlet.jar}" /> | |
<exclude name="**/${jetty-util.jar}" /> | |
<exclude name="**/${jetty.jar}" /> | |
<exclude name="**/${junit.jar}" /> | |
<exclude name="**/retroweaver-rt-${retroweaver.version}.jar" /> | |
<exclude name="**/${xmlsecurity.jar}" unless="do.security" /> | |
<exclude name="**/${spring.mock.dir}" unless="do.spring" /> | |
<exclude name="**/${spring.web.dir}" unless="do.spring" /> | |
<exclude name="**/${bouncycastle.jar}" /> | |
<exclude name="**/${bouncycastle.jar.retro}" /> | |
</fileset> | |
<fileset dir="${docs}" includes="**/*" /> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
<include name="README" /> | |
</fileset> | |
</copy> | |
<copy todir="${work}/dist/${ant.project.name}.${version}/examples"> | |
<fileset dir="${basedir}/examples" includes="**/*" excludes="**/pom.xml" /> | |
</copy> | |
<zip destfile="${basedir}/${ant.project.name}.${version}.zip" basedir="${work}/dist/" /> | |
<checksum file="${basedir}/${ant.project.name}.${version}.zip" fileext=".md5" /> | |
<delete dir="${work}/dist/${ant.project.name}.${version}" /> | |
<mkdir dir="${work}/dist/${ant.project.name}.${version}.jdk142" /> | |
<mkdir dir="${work}/dist/${ant.project.name}.${version}.jdk142/examples" /> | |
<copy todir="${work}/dist/${ant.project.name}.${version}.jdk142"> | |
<fileset dir="${dist}"> | |
<include name="**/*.jar" /> | |
<include name="**/legal/*" /> | |
<exclude name="**/*.${version}.jar" /> | |
<exclude name="**/abdera-i18n-${i18n.version}.jar" /> | |
<exclude name="**/${bouncycastle.jar}" /> | |
<exclude name="**/${geronimo.servlet.jar}" /> | |
<exclude name="**/${jetty-util.jar}" /> | |
<exclude name="**/${jetty.jar}}" /> | |
<exclude name="**/${junit.jar}" /> | |
<exclude name="**/${xmlsecurity.jar}" unless="do.security" /> | |
<exclude name="**/${spring.mock.dir}" unless="do.spring" /> | |
<exclude name="**/${spring.web.dir}" unless="do.spring" /> | |
<exclude name="**/${bouncycastle.jar}" /> | |
<exclude name="**/${bouncycastle.jar.retro}" /> | |
</fileset> | |
<fileset dir="${docs}" includes="**/*" /> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
<include name="README" /> | |
</fileset> | |
</copy> | |
<copy todir="${work}/dist/${ant.project.name}.${version}.jdk142/examples"> | |
<fileset dir="${basedir}/examples" includes="**/*" excludes="**/pom.xml" /> | |
</copy> | |
<zip destfile="${basedir}/${ant.project.name}.${version}.jdk142.zip" basedir="${work}/dist/" /> | |
<checksum file="${basedir}/${ant.project.name}.${version}.jdk142.zip" fileext=".md5" /> | |
<delete dir="${work}/dist/${ant.project.name}.${version}.jdk142" /> | |
<mkdir dir="${work}/dist/${ant.project.name}.${version}.src" /> | |
<copy todir="${work}/dist/${ant.project.name}.${version}.src"> | |
<fileset dir="${basedir}"> | |
<exclude name="dist/**/*" /> | |
<exclude name="build/tools" /> | |
<exclude name="build/work" /> | |
<exclude name="build/tools/**/*" /> | |
<exclude name="build/work/**/*" /> | |
<exclude name="**/*.jar" /> | |
<exclude name="**/*.zip" /> | |
<exclude name="**/*.md5" /> | |
<exclude name="**/.project" /> | |
<exclude name="**/feedvalidator.org/**/*" /> | |
<exclude name="dependencies/work/**/*" /> | |
</fileset> | |
</copy> | |
<zip destfile="${basedir}/${ant.project.name}.${version}.src.zip" basedir="${work}/dist/" /> | |
<checksum file="${basedir}/${ant.project.name}.${version}.src.zip" fileext=".md5" /> | |
<delete dir="${work}" /> | |
</target> | |
<target name="downloadsecurity" if="do.download.security"> | |
<parallel> | |
<get src="${xmlsecurity.dir}/${xmlsecurity.jar}" dest="${dependencies}/${xmlsecurity.jar}" usetimestamp="true" /> | |
<get src="${bouncycastle.dir}/${bouncycastle.jar}" dest="${dependencies}/${bouncycastle.jar}" usetimestamp="true" /> | |
</parallel> | |
</target> | |
<target name="downloadspring" if="do.download.spring"> | |
<mkdir dir="${basedir}/build/tools"/> | |
<get src="${spring.dir}/${spring.zip}" dest="${basedir}/build/tools/${spring.zip}" /> | |
<unzip src="${basedir}/build/tools/${spring.zip}" dest="${basedir}/build/tools/" overwrite="true" /> | |
</target> | |
<target name="download" if="do.download"> | |
<echo>Downloading project dependencies. This may take a moment</echo> | |
<parallel> | |
<get src="${geronimo.activation.dir}/${geronimo.activation.jar}" dest="${dependencies}/${geronimo.activation.jar}" usetimestamp="true" /> | |
<get src="${geronimo.servlet.dir}/${geronimo.servlet.jar}" dest="${dependencies}/${geronimo.servlet.jar}" usetimestamp="true" /> | |
<get src="${axiom.dir}/${axiom.api.jar}" dest="${dependencies}/${axiom.api.jar}" usetimestamp="true" /> | |
<get src="${axiom.dir}/${axiom.impl.jar}" dest="${dependencies}/${axiom.impl.jar}" usetimestamp="true" /> | |
<get src="${jaxen.dir}/${jaxen.jar}" dest="${dependencies}/${jaxen.jar}" usetimestamp="true" /> | |
<get src="${log4j.dir}/${log4j.jar}" dest="${dependencies}/${log4j.jar}" usetimestamp="true" /> | |
<get src="${stax.dir}/${stax.api.jar}" dest="${dependencies}/${stax.api.jar}" usetimestamp="true" /> | |
<get src="${commons.logging.dir}/${commons.logging.jar}" dest="${dependencies}/${commons.logging.jar}" usetimestamp="true" /> | |
<get src="${commons.codec.dir}/${commons.codec.jar}" dest="${dependencies}/${commons.codec.jar}" usetimestamp="true" /> | |
<get src="${commons.httpclient.dir}/${commons.httpclient.jar}" dest="${dependencies}/${commons.httpclient.jar}" usetimestamp="true" /> | |
<get src="${junit.dir}/${junit.jar}" dest="${dependencies}/${junit.jar}" usetimestamp="true" /> | |
<get src="${wstx.dir}/${wstx.jar}" dest="${dependencies}/${wstx.jar}" usetimestamp="true" /> | |
<get src="${jetty.dir}/${jetty.jar}" dest="${dependencies}/${jetty.jar}" usetimestamp="true" /> | |
<get src="${jetty-util.dir}/${jetty-util.jar}" dest="${dependencies}/${jetty-util.jar}" usetimestamp="true" /> | |
<get src="${htmlparser.dir}/${htmlparser.jar}" dest="${dependencies}/${htmlparser.jar}" usetimestamp="true" /> | |
<get src="${htmlparser.dir}/${htmlserializer.jar}" dest="${dependencies}/${htmlserializer.jar}" usetimestamp="true" /> | |
<get src="${easymock.dir}/${easymock.jar}" dest="${dependencies}/${easymock.jar}" usetimestamp="true" /> | |
<get src="${easymockclassextension.dir}/${easymockclassextension.jar}" dest="${dependencies}/${easymockclassextension.jar}" usetimestamp="true" /> | |
<get src="${cglib.dir}/${cglib.jar}" dest="${dependencies}/${cglib.jar}" usetimestamp="true" /> | |
<get src="${javamail.dir}/${javamail.jar}" dest="${dependencies}/${javamail.jar}" usetimestamp="true" /> | |
<get src="${xmlunit.dir}/${xmlunit.jar}" dest="${dependencies}/${xmlunit.jar}" usetimestamp="true" /> | |
</parallel> | |
</target> | |
<target name="clean-downloads" depends="init"> | |
<delete> | |
<fileset dir="${dependencies}" includes="**/*.jar" /> | |
</delete> | |
</target> | |
<target name="site-docs" depends="docs"> | |
<mkdir dir="${site}/docs/api" /> | |
<copy todir="${site}/docs/api"> | |
<fileset dir="${javadocs}" /> | |
</copy> | |
</target> | |
<target name="retro" depends="dist"> | |
<property name="retrozip" value="${basedir}/build/tools/${retroweaver.zip}" /> | |
<property name="retro" value="${basedir}/build/tools/retroweaver-${retroweaver.version}" /> | |
<property name="retro_core.jar" value="${dist}/${ant.project.name}.core.${version}.retro.jar" /> | |
<property name="retro_parser.jar" value="${dist}/${ant.project.name}.parser.${version}.retro.jar" /> | |
<property name="retro_extensions.jar" value="${dist}/${ant.project.name}.extensions.${version}.retro.jar" /> | |
<property name="retro_server.jar" value="${dist}/${ant.project.name}.server.${version}.retro.jar" /> | |
<property name="retro_client.jar" value="${dist}/${ant.project.name}.client.${version}.retro.jar" /> | |
<property name="retro_spring.jar" value="${dist}/${ant.project.name}.spring.${version}.retro.jar" /> | |
<property name="retro_i18n.jar" value="${dist}/lib/${ant.project.name}-i18n-${i18n.version}.retro.jar" /> | |
<property name="retro_complete.jar" value="${dist}/${ant.project.name}-complete-${version}.retro.jar" /> | |
<condition property="do.download.retroweaver"> | |
<not> | |
<available file="${retrozip}" /> | |
</not> | |
</condition> | |
<antcall target="go_retro" /> | |
<path id="jar.retro"> | |
<fileset dir="${retro}/release" includes="**/*.jar" /> | |
</path> | |
<echo>Retroweaving the Jars...</echo> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${core.jar}" "${retro_core.jar}"" /> | |
</java> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${parser.jar}" "${retro_parser.jar}"" /> | |
</java> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${server.jar}" "${retro_server.jar}"" /> | |
</java> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${client.jar}" "${retro_client.jar}"" /> | |
</java> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${i18n.jar}" "${retro_i18n.jar}"" /> | |
</java> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${complete.jar}" "${retro_complete.jar}"" /> | |
</java> | |
<antcall target="retro.extensions" /> | |
<antcall target="retro.security" /> | |
<antcall target="retro.spring" /> | |
<copy todir="${dist_lib}" file="${retro}/release/retroweaver-rt-${retroweaver.version}.jar" /> | |
</target> | |
<target name="retro.security" if="do.security"> | |
<property name="retro_security.jar" value="${dist}/${ant.project.name}.security.${version}.retro.jar" /> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${security.jar}" "${retro_security.jar}"" /> | |
</java> | |
<get src="${bouncycastle.dir}/${bouncycastle.jar.retro}" dest="${dependencies}/${bouncycastle.jar.retro}" usetimestamp="true" ignoreerrors="true" /> | |
</target> | |
<target name="retro.spring" if="do.spring"> | |
<property name="retro_spring.jar" value="${dist}/${ant.project.name}.spring.${version}.retro.jar" /> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${spring.jar}" "${retro_spring.jar}"" /> | |
</java> | |
</target> | |
<target name="go_retro" if="do.download.retroweaver"> | |
<echo>Downloading Retroweaver...</echo> | |
<mkdir dir="${basedir}/build/tools" /> | |
<get src="${retroweaver.dir}/${retroweaver.zip}" dest="${basedir}/build/tools/${retroweaver.zip}" usetimestamp="true" /> | |
<unzip src="${basedir}/build/tools/${retroweaver.zip}" dest="${basedir}/build/tools/" overwrite="true" /> | |
</target> | |
<target name="download_feedvalidator_tests" depends="init" if="do.download.feedvalidator.tests"> | |
<mkdir dir="${parser.test.resources}/feedvalidator.org" /> | |
<exec failifexecutionfails="false" dir="${parser.test.resources}/feedvalidator.org" executable="svn"> | |
<arg line="co http://feedvalidator.googlecode.com/svn/trunk/feedvalidator/testcases/atom testcases/atom" /> | |
</exec> | |
</target> | |
<target name="compile.extensions" depends="init, compile.core, compile.parser, compile.dependencies, compile.client, compile.server"> | |
<mkdir dir="${extensions.work}" /> | |
<antcall target="compile.extension"> | |
<param name="ext" value="main" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="gdata" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="geo" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="html" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="json" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="media" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="opensearch" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="sharing" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="wsse" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="oauth" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="serializer" /> | |
</antcall> | |
<antcall target="compile.extension"> | |
<param name="ext" value="features" /> | |
</antcall> | |
</target> | |
<target name="compile.extension.ask"> | |
<input addproperty="ask.response" message="Extension name to compile:"/> | |
<antcall target="compile.extension"> | |
<param name="ext" value="${ask.response}"/> | |
</antcall> | |
</target> | |
<target name="compile.extension"> | |
<echo>Compiling extension ${ext}...</echo> | |
<mkdir dir="${extensions.work}/${ext}" /> | |
<mkdir dir="${extensions.work}/${ext}/META-INF" /> | |
<javac srcdir="${extensions}/${ext}/src/main/java" destdir="${extensions.work}/${ext}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${client.work};${server.work};${extensions.work}/main;${extensions.work}/html" debug="${debug}" /> | |
<available file="${extensions}/${ext}/src/test/java" property="is.available.${ext}.test" /> | |
<copy todir="${extensions.work}/${ext}/META-INF"> | |
<fileset dir="${basedir}"> | |
<include name="LICENSE" /> | |
<include name="NOTICE" /> | |
</fileset> | |
</copy> | |
<copy todir="${extensions.work}/${ext}"> | |
<fileset dir="${extensions}/${ext}/src/main/resources" includes="**/*" /> | |
</copy> | |
<antcall target="compile.extension.test"> | |
<param name="ext" value="${ext}"/> | |
</antcall> | |
</target> | |
<target name="compile.extension.test" if="is.available.${ext}.test"> | |
<echo>Compiling tests for extension ${ext}...</echo> | |
<javac srcdir="${extensions}/${ext}/src/test/java" destdir="${test}" classpathref="jar.dependencies" classpath="${core.work};${parser.work};${extensions.work}/${ext};${client.work};${server.work}" debug="${debug}" /> | |
<copy todir="${test}"> | |
<fileset dir="${extensions}/${ext}/src/test/resources" includes="**/*" /> | |
</copy> | |
</target> | |
<target name="dist.extensions"> | |
<mkdir dir="${dist}/ext" /> | |
<antcall target="dist.extension"> | |
<param name="ext" value="main" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="gdata" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="geo" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="html" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="json" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="media" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="opensearch" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="sharing" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="wsse" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="oauth" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="serializer" /> | |
</antcall> | |
<antcall target="dist.extension"> | |
<param name="ext" value="features" /> | |
</antcall> | |
</target> | |
<target name="dist.extension"> | |
<echo>Building jar for extension ${ext}...</echo> | |
<jar destfile="${extensions.jar.base}.${ext}.${version}.jar" | |
basedir="${extensions.work}/${ext}" | |
manifest="${work}/MANIFEST.MF" /> | |
</target> | |
<target name="dist.extension.ask"> | |
<input addproperty="ask.response" message="Extension name to build:"/> | |
<antcall target="dist.extension"> | |
<param name="ext" value="${ask.response}"/> | |
</antcall> | |
</target> | |
<target name="test.extensions"> | |
<antcall target="test.extension"> | |
<param name="ext" value="main" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="gdata" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="geo" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="html" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="json" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="media" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="opensearch" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="sharing" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="wsse" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="oauth" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="serializer" /> | |
</antcall> | |
<antcall target="test.extension"> | |
<param name="ext" value="features" /> | |
</antcall> | |
</target> | |
<target name="test.extension"> | |
<echo>Running tests for extension ${ext}...</echo> | |
<java | |
classpathref="jar.dependencies" | |
classpath="${core.work}:${parser.work}:${server.work}:${extensions.work}/${ext}:${test}" | |
classname="org.apache.abdera.test.ext.${ext}.TestSuite" fork="yes" failonerror="false"/> | |
</target> | |
<target name="retro.extensions"> | |
<antcall target="retro.extension"> | |
<param name="ext" value="main" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="gdata" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="geo" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="html" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="json" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="media" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="opensearch" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="sharing" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="wsse" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="oauth" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="serializer" /> | |
</antcall> | |
<antcall target="retro.extension"> | |
<param name="ext" value="features" /> | |
</antcall> | |
</target> | |
<target name="retro.extension"> | |
<echo>Retroweaving extension ${ext}...</echo> | |
<property name="retro_ext.jar" value="${extensions.jar.base}.${ext}.${version}.retro.jar" /> | |
<java classpathref="jar.retro" classname="net.sourceforge.retroweaver.Weaver" fork="yes"> | |
<arg line="-jar "${extensions.jar.base}.${ext}.${version}.jar" "${retro_ext.jar}"" /> | |
</java> | |
</target> | |
<target name="adapters"> | |
<ant antfile="${basedir}/adapters/couchdb/build.xml" target="dist" dir="${basedir}/adapters/couchdb" inheritall="false" /> | |
<ant antfile="${basedir}/adapters/jcr/build.xml" target="dist" dir="${basedir}/adapters/jcr" inheritall="false" /> | |
<ant antfile="${basedir}/adapters/jdbc/build.xml" target="dist" dir="${basedir}/adapters/jdbc" inheritall="false" /> | |
<ant antfile="${basedir}/adapters/filesystem/build.xml" target="dist" dir="${basedir}/adapters/filesystem" inheritall="false" /> | |
</target> | |
</project> |