diff options
| author | Kazuki Ohta <kazuki.ohta@gmail.com> | 2010-04-18 01:18:40 +0900 |
|---|---|---|
| committer | Kazuki Ohta <kazuki.ohta@gmail.com> | 2010-04-18 01:18:40 +0900 |
| commit | fb96617377ed7330edcf239d807d2ae378e336e9 (patch) | |
| tree | 4ed4f26bed5cdeddfe3fb29a03ece203872d201b | |
| parent | 05b8c00ee78b5806814f133f6ccd33148d1e13a0 (diff) | |
| download | msgpack-python-fb96617377ed7330edcf239d807d2ae378e336e9.tar.gz | |
java: add javadoc,javadoc-jar,pom,dist,mvn-install,mvn-deploy ANT tasks.
Now maven2 repository for msgpack is created at the following URL.
- http://msgpack.sourceforge.net/maven2/
| -rw-r--r-- | java/build.xml | 127 | ||||
| -rw-r--r-- | java/ivy.xml | 2 |
2 files changed, 125 insertions, 4 deletions
diff --git a/java/build.xml b/java/build.xml index 52c5218..f6e93ae 100644 --- a/java/build.xml +++ b/java/build.xml @@ -2,6 +2,12 @@ xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:mvn="urn:maven-artifact-ant"> + <property name="Name" value="MessagePack"/> + <property name="name" value="msgpack"/> + <property name="version" value="0.0.1"/> + <property name="fullname" value="${name}-${version}"/> + <property name="year" value="2010"/> + <!-- Load user's default properties. --> <property file="${user.home}/build.properties" /> @@ -10,7 +16,11 @@ <property name="build.dir" value="${basedir}/build"/> <property name="lib.dir" value="${basedir}/lib"/> <property name="dist.dir" value="${basedir}/dist"/> + <property name="build.classes" value="${build.dir}/classes"/> + <property name="build.doc" value="${build.dir}/doc"/> + <property name="build.javadoc" value="${build.doc}/api/"/> + <property name="build.javadoc.log" value="${build.dir}/javadoc.log"/> <property name="test.count" value="100"/> <property name="test.junit.output.format" value="plain"/> @@ -27,6 +37,10 @@ <property name="javac.args" value=""/> <property name="javac.args.warnings" value="-Xlint:unchecked"/> + <property name="javadoc.link.java" + value="http://java.sun.com/javase/6/docs/api/"/> + <property name="javadoc.packages" value="org.${name}.*"/> + <!-- ivy settings --> <property name="ivy.version" value="2.1.0"/> <property name="ivy.url" @@ -138,9 +152,6 @@ <src path="${java.src.dir}"/> </java-compiler> </target> - <target name="jar" depends="compile"> - <jar jarfile="${dist.dir}/msgpack-0.0.1.jar" basedir="${build.classes}" /> - </target> <!-- test --> <macrodef name="test-runner"> @@ -179,4 +190,114 @@ <test-runner files.location="${test.java.src.dir}" tests.pattern="**/${test.java.include}.java"/> </target> + + <!-- jar --> + <target name="jar" depends="compile"> + <jar jarfile="${build.dir}/${name}-${version}.jar" basedir="${build.classes}" > + <manifest> + <section name="org/${name}"> + <attribute name="Implementation-Title" value="${Name}"/> + <attribute name="Implementation-Version" value="${version}"/> + </section> + </manifest> + </jar> + </target> + + <!-- javadoc --> + <target name="javadoc" depends="compile" description="Generate javadoc"> + <mkdir dir="${build.javadoc}"/> + <record name="${build.javadoc.log}" action="start"/> + <javadoc + Locale="en_US" + packagenames="org.${org}.${name}.*" + destdir="${build.javadoc}" + encoding="UTF-8" + docencoding="UTF-8" + author="true" + version="true" + use="true" + windowtitle="${Name} ${version} API" + doctitle="${Name} ${version} API" + bottom="Copyright &copy; ${year} The ${Name} Project" + > + <packageset dir="${java.src.dir}"/> + <link href="${javadoc.link.java}"/> + <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="javadoc-jar" depends="javadoc"> + <jar jarfile="${build.dir}/${fullname}-javadoc.jar"> + <fileset dir="${build.javadoc}" includes="**/*"/> + </jar> + </target> + + <!-- sources --> + <target name="source"> + <jar jarfile="${build.dir}/${fullname}-sources.jar"> + <fileset dir="${java.src.dir}" includes="**/*.java"/> + </jar> + </target> + + <!-- pom --> + <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> + + <!-- dist --> + <target name="dist" depends="jar, 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"/> + </copy> + </target> + + <!-- maven: install msgpack into local m2 cache --> + <target name="mvn-install" depends="jar, pom, source, javadoc-jar" + description="Installs msgpack 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="msgpack"/> + <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="msgpack"/> + </mvn:install> + </target> + + <!-- maven: create local repository into ${basedir}/maven2 --> + <target name="mvn-deploy" depends="jar, pom, source, javadoc-jar" + description="Deploys MessagePack 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="msgpack"/> + <mvn:deploy file="${build.dir}/${fullname}.jar"> + <remoteRepository url="file://localhost/${basedir}/maven2/"/> + <attach file="${build.dir}/${fullname}-sources.jar" + classifier="sources" /> + <attach file="${build.dir}/${fullname}-javadoc.jar" + classifier="javadoc" /> + <pom refid="msgpack"/> + </mvn:deploy> + </target> + </project> diff --git a/java/ivy.xml b/java/ivy.xml index a694214..0e07cca 100644 --- a/java/ivy.xml +++ b/java/ivy.xml @@ -1,7 +1,7 @@ <ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra"> - <info organisation="org.msgpack" + <info organisation="org" module="${name}" revision="${version}"> <ivyauthor name="MessagePack Project" url="http://msgpack.sourceforge.net/"/> <description>MessagePack</description> |
