| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| 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. |
| --> |
| |
| <project name="Avro" default="compile" |
| xmlns:ivy="antlib:org.apache.ivy.ant" |
| xmlns:mvn="urn:maven-artifact-ant"> |
| |
| <!-- Load user's default properties. --> |
| <property file="${user.home}/build.properties" /> |
| |
| <property name="Org" value="Apache"/> |
| <property name="org" value="apache"/> |
| <property name="Name" value="Avro"/> |
| <property name="name" value="avro"/> |
| |
| <loadresource property="version"> |
| <file file="${basedir}/../../share/VERSION.txt"/> |
| </loadresource> |
| <property name="fullname" value="${name}-${version}"/> |
| <property name="year" value="2010"/> |
| |
| <property name="share.dir" value="${basedir}/../../share"/> |
| <property name="top.build" value="${basedir}/../../build"/> |
| <property name="dist.dir" value="${basedir}/../../dist/java"/> |
| |
| <property name="src.dir" value="${basedir}/src"/> |
| <property name="java.src.dir" value="${src.dir}/java"/> |
| <property name="build.dir" value="${basedir}/build"/> |
| <property name="lib.dir" value="${basedir}/lib"/> |
| |
| <property name="build.classes" value="${build.dir}/classes"/> |
| <property name="build.doc" value="${build.dir}/doc"/> |
| <property name="build.javadoc" value="${build.doc}/api/java"/> |
| <property name="build.javadoc.log" value="${build.dir}/javadoc.log"/> |
| |
| <property name="test.count" value="100"/> |
| <property name="test.junit.output.format" value="plain"/> |
| <property name="test.java.src.dir" value="${basedir}/src/test/java"/> |
| <property name="test.schemata.dir" value="${share.dir}/test/schemas"/> |
| <property name="test.genavro.dir" value="${basedir}/src/test/genavro"/> |
| <property name="test.genavro.mode" value="run" /> |
| <property name="test.java.build.dir" value="${build.dir}/test"/> |
| <property name="test.java.generated.build.dir" value="${test.java.build.dir}/generated"/> |
| <property name="test.java.generated.dir" value="${test.java.generated.build.dir}/src"/> |
| <property name="test.java.classes" value="${test.java.build.dir}/classes"/> |
| <property name="test.java.generated.classes" value="${test.java.generated.build.dir}/classes"/> |
| <property name="test.java.include" value="Test*"/> |
| |
| <property name="javadoc.link.java" |
| value="http://java.sun.com/javase/6/docs/api/"/> |
| <property name="javadoc.link.jackson" |
| value="http://jackson.codehaus.org/0.9.3/javadoc/"/> |
| <property name="javadoc.link.servlet" |
| value="http://java.sun.com/products/servlet/2.3/javadoc/"/> |
| <property name="javadoc.packages" value="org.${org}.${name}.*"/> |
| |
| <property name="javac.encoding" value="ISO-8859-1"/> |
| <property name="javac.debug" value="on"/> |
| <property name="javac.optimize" value="on"/> |
| <property name="javac.deprecation" value="off"/> |
| <property name="javac.version" value="1.6"/> |
| <property name="javac.args" value=""/> |
| <property name="javac.args.warnings" value="-Xlint:unchecked"/> |
| |
| <property name="ivy.version" value="2.1.0"/> |
| <property name="ivy.url" |
| value="http://repo2.maven.org/maven2/org/apache/ivy/ivy" /> |
| <property name="ivy.home" value="${user.home}/.ant" /> |
| <property name="ivy.lib" value="${build.dir}/lib"/> |
| <property name="ivy.test.lib" value="${build.dir}/test/lib"/> |
| <property name="mvn.repo" |
| value="https://repository.apache.org/content/repositories/snapshots"/> |
| |
| <!-- Eclipse properties --> |
| <property name="build.dir.eclipse" value=".eclipse"/> |
| <property name="build.dir.eclipse-main-classes" value="${build.dir.eclipse}/classes-main"/> |
| <property name="build.dir.eclipse-main-generated-classes" value="${build.dir.eclipse}/classes-main-generated"/> |
| <property name="build.dir.eclipse-test-classes" value="${build.dir.eclipse}/classes-test"/> |
| |
| <!-- the normal classpath --> |
| <path id="libs"> |
| <fileset dir="${ivy.lib}"> |
| <include name="**/*.jar" /> |
| </fileset> |
| </path> |
| |
| <path id="java.classpath"> |
| <pathelement location="${build.classes}"/> |
| <fileset dir="${lib.dir}"> |
| <include name="**/*.jar" /> |
| <exclude name="**/excluded/" /> |
| </fileset> |
| <fileset dir="${ant.home}/lib"> |
| <include name="ant.jar" /> |
| </fileset> |
| <path refid="libs" /> |
| </path> |
| |
| <path id="test.libs"> |
| <fileset dir="${ivy.test.lib}"> |
| <include name="**/*.jar" /> |
| </fileset> |
| </path> |
| |
| <path id="test.java.classpath"> |
| <pathelement location="${test.java.classes}" /> |
| <pathelement location="${test.java.generated.classes}" /> |
| <path refid="java.classpath"/> |
| <path refid="test.libs"/> |
| </path> |
| |
| <target name="init"> |
| <mkdir dir="${build.dir}"/> |
| <mkdir dir="${build.classes}"/> |
| |
| <mkdir dir="${test.java.build.dir}"/> |
| <mkdir dir="${test.java.classes}"/> |
| <mkdir dir="${test.java.generated.classes}"/> |
| |
| <mkdir dir="${ivy.lib}"/> |
| <mkdir dir="${ivy.test.lib}"/> |
| <condition property="ivy.jar.exists"> |
| <available file="${lib.dir}/ivy-${ivy.version}.jar"/> |
| </condition> |
| </target> |
| |
| <target name="javacc" depends="ivy-retrieve-build"> |
| <mkdir dir="${build.dir}/src/org/apache/avro/genavro"/> |
| <copy tofile="${ivy.lib}/javacc.jar" file="${ivy.lib}/javacc-5.0.jar" |
| overwrite="true"/> |
| <javacc target="${java.src.dir}/org/apache/avro/genavro/genavro.jj" |
| outputdirectory="${build.dir}/src/org/apache/avro/genavro" |
| javacchome="${ivy.lib}"/> |
| </target> |
| |
| <target name="compile" depends="javacc,ivy-retrieve"> |
| <java-compiler |
| excludes="**/ipc/** **/*Requestor.java **/*Responder.java **/tool/**"> |
| <src path="${build.dir}/src"/> |
| <src path="${java.src.dir}"/> |
| </java-compiler> |
| <java-avro-compiler/> |
| <java-compiler> |
| <src path="${build.dir}/src"/> |
| <src path="${java.src.dir}"/> |
| </java-compiler> |
| <copy todir="${build.classes}"> |
| <fileset file="${basedir}/../../NOTICE.txt"/> |
| <fileset file="${basedir}/../../share/VERSION.txt"/> |
| </copy> |
| </target> |
| |
| <target name="ivy-download" unless="ivy.jar.exists" depends="init"> |
| <delete dir="${lib.dir}" |
| includes="ivy-*.jar" excludes="ivy-${ivy.version}.jar"/> |
| <get src="${ivy.url}/${ivy.version}/ivy-${ivy.version}.jar" |
| dest="${lib.dir}/ivy-${ivy.version}.jar" usetimestamp="true"/> |
| </target> |
| |
| <target name="ivy-init" depends="ivy-download" unless="ivy.initialized"> |
| <taskdef resource="org/apache/ivy/ant/antlib.xml" |
| uri="antlib:org.apache.ivy.ant" classpathref="java.classpath"/> |
| <!-- ensure that ivy taskdef is only run once, otw ant will error --> |
| <property name="ivy.initialized" value="true"/> |
| </target> |
| |
| <target name="ivy-retrieve" depends="init,ivy-init"> |
| <ivy:retrieve type="jar" conf="default" |
| pattern="${ivy.lib}/[artifact]-[revision].[ext]"/> |
| </target> |
| |
| <target name="ivy-retrieve-tools" depends="init,ivy-init"> |
| <!-- Place in separate directory, since these artificats will |
| be packaged in the tools jar. --> |
| <ivy:retrieve type="jar" conf="tools" |
| pattern="${ivy.lib}/tools/[artifact]-[revision].[ext]"/> |
| </target> |
| |
| <target name="ivy-retrieve-test" depends="init,ivy-init"> |
| <ivy:retrieve type="jar" conf="test" |
| pattern="${ivy.test.lib}/[artifact]-[revision].[ext]"/> |
| </target> |
| |
| <target name="ivy-retrieve-build" depends="init,ivy-init"> |
| <ivy:retrieve type="jar" conf="build" |
| pattern="${ivy.lib}/[artifact]-[revision].[ext]"/> |
| </target> |
| |
| <macrodef name="java-compiler"> |
| <attribute name="dest" default="${build.classes}"/> |
| <attribute name="includes" default="**/*.java"/> |
| <attribute name="excludes" default=""/> |
| <attribute name="classpath" default="java.classpath"/> |
| <element name="src" implicit="yes"/> |
| <sequential> |
| <javac |
| destdir="@{dest}" |
| includes="@{includes}" |
| excludes="@{excludes}" |
| encoding="${javac.encoding}" |
| debug="${javac.debug}" |
| optimize="${javac.optimize}" |
| target="${javac.version}" |
| source="${javac.version}" |
| deprecation="${javac.deprecation}"> |
| <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
| <classpath refid="@{classpath}"/> |
| <src /> |
| </javac> |
| </sequential> |
| </macrodef> |
| |
| <target name="jar" depends="compile" description="Build jar file."> |
| <jar jarfile="${build.dir}/${fullname}.jar" |
| basedir="${build.classes}"> |
| <manifest> |
| <section name="org/${org}/${name}"> |
| <attribute name="Implementation-Title" value="${Name}"/> |
| <attribute name="Implementation-Version" value="${version}"/> |
| <attribute name="Implementation-Vendor" value="${Org}"/> |
| </section> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="checkstyle-java" depends="compile"> |
| <taskdef resource="checkstyletask.properties"> |
| <classpath refid="test.java.classpath" /> |
| </taskdef> |
| <checkstyle config="${java.src.dir}/checkstyle.xml" |
| classpathref="test.java.classpath"> |
| <fileset dir="${java.src.dir}"> |
| <include name="**/*.java"/> |
| </fileset> |
| <fileset dir="${test.java.src.dir}"> |
| <include name="**/*.java"/> |
| </fileset> |
| </checkstyle> |
| </target> |
| |
| <target name="compile-test-java" depends="ivy-retrieve-test,ivy-retrieve-tools,compile"> |
| <java-avro-compiler src="${test.schemata.dir}" |
| generated="${test.java.generated.dir}" |
| dest="${test.java.generated.classes}" |
| classpath="test.java.classpath"/> |
| <java-compiler dest="${test.java.classes}" |
| classpath="test.java.classpath"> |
| <src path="${test.java.src.dir}" /> |
| </java-compiler> |
| <taskdef |
| name="paranamer" |
| classname="com.thoughtworks.paranamer.ant.ParanamerGeneratorTask"> |
| <classpath refid="java.classpath" /> |
| </taskdef> |
| <paranamer sourceDirectory="${test.java.generated.dir}" |
| outputDirectory="${test.java.generated.classes}"/> |
| <paranamer sourceDirectory="${test.java.src.dir}" |
| outputDirectory="${test.java.classes}"/> |
| </target> |
| |
| <macrodef name="java-avro-compiler"> |
| <attribute name="src" default="${share.dir}/schemas"/> |
| <attribute name="generated" default="${build.dir}/src"/> |
| <attribute name="dest" default="${build.classes}"/> |
| <attribute name="classpath" default="java.classpath"/> |
| |
| <sequential> |
| <taskdef name="protocol" |
| classname="org.apache.avro.specific.ProtocolTask"> |
| <classpath refid="java.classpath" /> |
| </taskdef> |
| <taskdef name="schema" classname="org.apache.avro.specific.SchemaTask"> |
| <classpath refid="java.classpath" /> |
| </taskdef> |
| |
| <mkdir dir="@{generated}"/> |
| |
| <protocol destdir="@{generated}"> |
| <fileset dir="@{src}"> |
| <include name="**/*.avpr" /> |
| </fileset> |
| </protocol> |
| |
| <schema destdir="@{generated}"> |
| <fileset dir="@{src}"> |
| <include name="**/*.avsc" /> |
| </fileset> |
| </schema> |
| |
| <java-compiler dest="@{dest}" |
| classpath="@{classpath}"> |
| <src path="@{generated}" /> |
| </java-compiler> |
| </sequential> |
| </macrodef> |
| |
| <target name="test" depends="test-java,test-tools"/> |
| |
| <target name="rat" depends="ivy-retrieve-test"> |
| <typedef resource="org/apache/rat/anttasks/antlib.xml" |
| uri="antlib:org.apache.rat.anttasks"> |
| <classpath refid="test.java.classpath"/> |
| </typedef> |
| |
| <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" |
| reportFile="${top.build}/rat-report.log"> |
| <fileset dir="${top.build}/avro-src-${version}/" |
| excludesfile="${share.dir}/rat-excludes.txt"/> |
| </rat:report> |
| <condition property="rat.passed"> |
| <isfileselected file="${top.build}/rat-report.log"> |
| <containsregexp expression="^0 Unknown Licenses"/> |
| </isfileselected> |
| </condition> |
| <fail unless="rat.passed">Unknown licenses: See build/rat-report.log.</fail> |
| </target> |
| |
| <macrodef name="test-runner"> |
| <attribute name="files.location" /> |
| <attribute name="tests.pattern" /> |
| <attribute name="test.dir" default="${test.java.build.dir}" /> |
| <sequential> |
| <junit showoutput="yes" |
| printsummary="withOutAndErr" |
| haltonfailure="no" |
| fork="yes" forkMode="once" |
| errorProperty="tests.failed" failureProperty="tests.failed"> |
| <sysproperty key="test.count" value="${test.count}"/> |
| <sysproperty key="test.dir" value="@{test.dir}"/> |
| <sysproperty key="share.dir" value="${share.dir}"/> |
| <sysproperty key="test.validate" value="${test.validate}"/> |
| <sysproperty key="test.genavro.dir" value="${test.genavro.dir}" /> |
| <sysproperty key="test.genavro.mode" value="${test.genavro.mode}" /> |
| <classpath refid="test.java.classpath"/> |
| <formatter type="${test.junit.output.format}"/> |
| <batchtest todir="${test.java.build.dir}" unless="testcase"> |
| <fileset dir="@{files.location}" |
| includes="@{tests.pattern}" |
| excludes="**/${test.java.exclude}.java" /> |
| </batchtest> |
| <batchtest todir="${test.java.build.dir}" if="testcase"> |
| <fileset dir="@{files.location}" includes="**/${testcase}.java"/> |
| </batchtest> |
| </junit> |
| <fail if="tests.failed">Tests Failed!</fail> |
| </sequential> |
| </macrodef> |
| |
| <target name="test-java" depends="unit-test-java,checkstyle-java,javadoc" |
| description="Run java tests" /> |
| |
| <target name="unit-test-java" depends="compile-test-java" |
| description="Run java unit tests"> |
| <test-runner files.location="${test.java.src.dir}" tests.pattern="**/${test.java.include}.java"/> |
| </target> |
| |
| <target name="interop-data-generate" depends="compile-test-java" |
| description="Generate java interop data files."> |
| <mkdir dir="${top.build}/interop/data"/> |
| <java classname="org.apache.avro.RandomData" |
| classpathref="test.java.classpath"> |
| <arg value="${share.dir}/test/schemas/interop.avsc"/> |
| <arg value="${top.build}/interop/data/java.avro"/> |
| <arg value="${test.count}"/> |
| </java> |
| </target> |
| |
| <target name="interop-data-test" |
| description="Run java data file interoperability tests"> |
| <test-runner files.location="${test.java.classes}" |
| tests.pattern="**/TestDataFile$InteropTest.class" |
| test.dir="${top.build}/interop/data" /> |
| </target> |
| |
| <target name="interop-rpc-start" depends="compile-test-java" |
| description="Start the daemons for rpc interoperability tests"> |
| <delete dir="${share.dir}/test/interop/rpc/java"/> |
| <mkdir dir="${share.dir}/test/interop/rpc/java"/> |
| <!-- Start the servers. As servers block the ant main thread, these need |
| to be created in parallel threads--> |
| <parallel> |
| <daemons> |
| <java classname="org.apache.avro.TestProtocolSpecific$InteropTest"> |
| <classpath refid="test.java.classpath"/> |
| <sysproperty key="test.dir" |
| value="${share.dir}/test/interop/rpc/java"/> |
| </java> |
| </daemons> |
| |
| <!-- Give some time to start --> |
| <sequential> |
| <sleep seconds="2"/> |
| </sequential> |
| </parallel> |
| </target> |
| |
| <target name="interop-rpc-test" |
| description="Run java rpc interoperability tests"> |
| <test-runner files.location="${test.java.classes}" tests.pattern="**/TestProtocolSpecific$InteropTest.class" /> |
| </target> |
| |
| <target name="tools" depends="compile,ivy-retrieve-tools" |
| description="Build standalone tools jar file"> |
| <jar jarfile="${build.dir}/avro-tools-${version}.jar"> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.avro.tool.Main"/> |
| <attribute name="Implementation-Title" value="${Name}"/> |
| <attribute name="Implementation-Version" value="${version}"/> |
| <attribute name="Implementation-Vendor" value="${Org}"/> |
| </manifest> |
| <fileset dir="${build.classes}" /> |
| <zipgroupfileset dir="${ivy.lib}/tools" includes="*.jar"/> |
| </jar> |
| <chmod file="${build.dir}/avro-tools-${version}.jar" perm="ugo+x"/> |
| </target> |
| |
| <target name="test-tools" depends="tools,compile-test-java" |
| description="Tests tools"> |
| <exec executable="${basedir}/src/test/bin/test_tools.sh" |
| failonerror="true"> |
| <env key="TOOLS" value="${build.dir}/avro-tools-${version}.jar"/> |
| <env key="TMPDIR" value="${test.java.build.dir}/tools"/> |
| </exec> |
| </target> |
| |
| <target name="javadoc" depends="compile" description="Generate javadoc"> |
| <mkdir dir="${build.javadoc}"/> |
| <record name="${build.javadoc.log}" action="start"/> |
| <javadoc |
| overview="${java.src.dir}/overview.html" |
| packagenames="org.${org}.${name}.*" |
| destdir="${build.javadoc}" |
| author="true" |
| version="true" |
| use="true" |
| windowtitle="${Name} ${version} API" |
| doctitle="${Name} ${version} API" |
| bottom="Copyright &copy; ${year} The ${Org} Software Foundation" |
| > |
| <packageset dir="${java.src.dir}"/> |
| |
| <link href="${javadoc.link.java}"/> |
| <link href="${javadoc.link.jackson}"/> |
| <link href="${javadoc.link.servlet}"/> |
| |
| <classpath > |
| <path refid="java.classpath" /> |
| </classpath> |
| |
| </javadoc> |
| <record name="${build.javadoc.log}" action="stop"/> |
| <condition property="javadoc.warnings"> |
| <isfileselected file="${build.javadoc.log}"> |
| <contains text=": warning - "/> |
| </isfileselected> |
| </condition> |
| <fail if="javadoc.warnings">Javadoc warnings!</fail> |
| </target> |
| |
| <target name="source"> |
| <jar jarfile="${build.dir}/${fullname}-sources.jar"> |
| <fileset dir="${java.src.dir}" includes="**/*.java"/> |
| </jar> |
| </target> |
| |
| <target name="javadoc-jar" depends="javadoc"> |
| <jar jarfile="${build.dir}/${fullname}-javadoc.jar"> |
| <fileset dir="${build.javadoc}" includes="**/*"/> |
| </jar> |
| </target> |
| |
| <target name="pom" depends="ivy-init"> |
| <ivy:makepom ivyfile="${basedir}/ivy.xml" |
| pomfile="${dist.dir}/${fullname}.pom"> |
| <mapping conf="default" scope="compile"/> |
| <mapping conf="test" scope="test"/> |
| </ivy:makepom> |
| </target> |
| |
| <target name="dist" depends="jar, tools, javadoc, pom, source, javadoc-jar" |
| description="Build distribution"> |
| <mkdir dir="${dist.dir}"/> |
| |
| <copy todir="${dist.dir}"> |
| <fileset file="${build.dir}/${fullname}.jar"/> |
| <fileset file="${build.dir}/${fullname}-sources.jar"/> |
| <fileset file="${build.dir}/${fullname}-javadoc.jar"/> |
| <fileset file="${build.dir}/avro-tools-${version}.jar"/> |
| </copy> |
| <chmod file="${dist.dir}/avro-tools-${version}.jar" perm="ugo+x"/> |
| |
| <copy todir="${top.build}/avro-doc-${version}/api/java"> |
| <fileset dir="${build.javadoc}"/> |
| </copy> |
| |
| </target> |
| |
| <target name="clean" description="Delete build files, and their directories"> |
| <delete dir="${build.dir}"/> |
| </target> |
| |
| <!-- Begin Eclipse targets --> |
| <property name="ant-eclipse.dir" value="${build.dir}/ant-eclipse"/> |
| <property name="ant-eclipse.lib.dir" value="${ant-eclipse.dir}/lib"/> |
| |
| <available file="${ant-eclipse.lib.dir}/ant-eclipse-1.0-jvm1.2.jar" |
| property="ant-eclipse.jar.exists"/> |
| |
| <path id="ant-eclipse.classpath"> |
| <fileset dir="${ant-eclipse.lib.dir}"> |
| <include name="**/*.jar" /> |
| </fileset> |
| </path> |
| |
| <target name="ant-eclipse-retrieve" unless="ant-eclipse.jar.exists" |
| depends="ivy-init" |
| description="Retrieves the ant-eclipse binary."> |
| <mkdir dir="${ant-eclipse.lib.dir}"/> |
| <ivy:settings id="ivy.ant-eclipse.settings" |
| file="${basedir}/ivysettings-ant-eclipse.xml" /> |
| <ivy:retrieve conf="eclipse" |
| settingsRef="ivy.ant-eclipse.settings" |
| pattern="${build.dir}/[module]-[revision].[ext]"/> |
| |
| <untar src="${build.dir}/ant-eclipse-1.0.bz2" |
| dest="${ant-eclipse.dir}" compression="bzip2"> |
| <patternset> |
| <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/> |
| </patternset> |
| </untar> |
| <delete file="${build.dir}/ant-eclipse-1.0.bz2" /> |
| </target> |
| |
| <target name="eclipse" |
| depends="compile-test-java,ant-eclipse-retrieve" |
| description="Create eclipse project files"> |
| <taskdef name="eclipse" |
| classname="prantl.ant.eclipse.EclipseTask" |
| classpathref="ant-eclipse.classpath" /> |
| <eclipse updatealways="true"> |
| <project name="${ant.project.name}" /> |
| <classpath> |
| <!-- Use Eclipse to compile Avro runtime --> |
| <source path="${java.src.dir}" |
| output="${build.dir.eclipse-main-classes}" /> |
| <source path="${test.java.src.dir}" |
| output="${build.dir.eclipse-test-classes}" /> |
| <!-- Even though these are generated, Eclipse can compile these --> |
| <source path="${build.dir}/src" |
| output="${build.dir.eclipse-main-generated-classes}" /> |
| <output path="${build.dir.eclipse-main-classes}" /> |
| <!-- Tests require that the generated code has paranamer applied to it, |
| so we use the ant build for that. --> |
| <library path="${test.java.generated.classes}" source="${test.java.generated.dir}"/> |
| <library pathref="libs" exported="true" /> |
| <library pathref="test.libs" exported="false" /> |
| </classpath> |
| </eclipse> |
| </target> |
| |
| <target name="clean-eclipse" description="Clean eclipse files"> |
| <delete file=".classpath" /> |
| <delete file=".eclipse" /> |
| <delete file=".project" /> |
| <delete dir=".settings" /> |
| <delete dir="${ant-eclipse.lib.dir}" /> |
| <delete dir="${build.dir.eclipse}" /> |
| </target> |
| <!-- End Eclipse targets --> |
| |
| <target name="mvn-install" depends="jar,pom,source,javadoc-jar" |
| description="Installs avro to local m2 cache"> |
| <typedef resource="org/apache/maven/artifact/ant/antlib.xml" |
| uri="urn:maven-artifact-ant" |
| classpathref="java.classpath"/> |
| <mvn:pom file="${dist.dir}/${fullname}.pom" id="avro"/> |
| <mvn:install file="${build.dir}/${fullname}.jar"> |
| <attach file="${build.dir}/${fullname}-sources.jar" |
| classifier="sources" /> |
| <attach file="${build.dir}/${fullname}-javadoc.jar" |
| classifier="javadoc" /> |
| <pom refid="avro"/> |
| </mvn:install> |
| </target> |
| |
| <target name="mvn-deploy" depends="jar,pom,source,javadoc-jar" |
| description="Deploys Avro to Maven repo."> |
| <typedef resource="org/apache/maven/artifact/ant/antlib.xml" |
| uri="urn:maven-artifact-ant" |
| classpathref="java.classpath"/> |
| <mvn:pom file="${dist.dir}/${fullname}.pom" id="avro"/> |
| <mvn:deploy file="${build.dir}/${fullname}.jar"> |
| <remoteRepository id="avro.mvn.repo" url="${mvn.repo}"/> |
| <attach file="${build.dir}/${fullname}-sources.jar" |
| classifier="sources" /> |
| <attach file="${build.dir}/${fullname}-javadoc.jar" |
| classifier="javadoc" /> |
| <pom refid="avro"/> |
| </mvn:deploy> |
| </target> |
| |
| </project> |