summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazuki Ohta <kazuki.ohta@gmail.com>2010-04-18 01:18:40 +0900
committerKazuki Ohta <kazuki.ohta@gmail.com>2010-04-18 01:18:40 +0900
commitfb96617377ed7330edcf239d807d2ae378e336e9 (patch)
tree4ed4f26bed5cdeddfe3fb29a03ece203872d201b
parent05b8c00ee78b5806814f133f6ccd33148d1e13a0 (diff)
downloadmsgpack-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.xml127
-rw-r--r--java/ivy.xml2
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 &amp;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>