Build: Fix up javadoc targets in sub-build.xml files for maven central

This commit is contained in:
zzz
2019-04-07 18:09:04 +00:00
parent cca68f9b79
commit 6cc39a2672
7 changed files with 171 additions and 23 deletions

View File

@ -528,21 +528,54 @@
</manifest>
</jar>
</target>
<target name="servletJavadoc">
<mkdir dir="./build" />
<mkdir dir="./build/servlet-i2p-javadoc" />
<javadoc
sourcepath="./java/src:../../core/java/src" destdir="./build/servlet-i2p-javadoc"
packagenames="net.i2p.servlet.filters.*"
<javadoc access="package"
source="${javac.version}"
destdir="./build/servlet-i2p-javadoc"
packagenames="*"
use="true"
splitindex="true"
windowtitle="I2P Servlet classes" />
failonerror="true"
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
<group title="Jetty Utilities" packages="*" />
<sourcepath>
<pathelement location="./java/src" />
</sourcepath>
<classpath>
<pathelement location="../../core/java/build/i2p.jar" />
<pathelement location="./jettylib/org.mortbay.jetty.jar" />
<pathelement location="./jettylib/javax.servlet.jar" />
<pathelement location="./jettylib/jetty-http.jar" />
<pathelement location="./jettylib/jetty-io.jar" />
<pathelement location="./jettylib/jetty-security.jar" />
<pathelement location="./jettylib/jetty-servlet.jar" />
<pathelement location="./jettylib/jetty-util.jar" />
<pathelement location="./jettylib/jetty-xml.jar" />
<!-- following are only for debian builds -->
<pathelement location="../../core/java/build/libintl.jar" />
<pathelement location="../../core/java/build/gnu-getopt.jar" />
<pathelement location="../../core/java/build/json-simple.jar" />
</classpath>
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="../../installer/resources/package-lists/java/" />
<link offline="true" href="${javaeedocs.url}" packagelistLoc="../../installer/resources/package-lists/javaee/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="../../installer/resources/package-lists/jetty/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="../../installer/resources/package-lists/wrapper/" />
</javadoc>
</target>
<target name="servletJavadocJar" depends="servletJavadoc">
<jar jarfile="./build/servlet-i2p-${release.number}-javadoc.jar">
<fileset dir="./build/servlet-i2p-javadoc" />
</jar>
</target>
<target name="servletSourcesJar">
<jar jarfile="./build/servlet-i2p-${release.number}-sources.jar">
<fileset dir="./java/src" includes="net/i2p/servlet/filters/**" />

View File

@ -151,12 +151,33 @@
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc
sourcepath="./src:../../../core/java/src:../../../core/java/test" destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
windowtitle="I2P ministreaming library" />
<javadoc access="package"
source="${javac.version}"
destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
failonerror="true"
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
<group title="Streaming Library API" packages="*" />
<sourcepath>
<pathelement location="./src" />
</sourcepath>
<classpath>
<pathelement location="../../../core/java/build/i2p.jar" />
<!-- following are only for debian builds -->
<pathelement location="../../../core/java/build/libintl.jar" />
<pathelement location="../../../core/java/build/gnu-getopt.jar" />
</classpath>
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="../../../installer/resources/package-lists/java/" />
<link offline="true" href="${javaeedocs.url}" packagelistLoc="../../../installer/resources/package-lists/javaee/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="../../../installer/resources/package-lists/jetty/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="../../../installer/resources/package-lists/wrapper/" />
</javadoc>
</target>
<!-- for Maven Central -->

View File

@ -237,15 +237,38 @@
<target name="jarTest" depends="jar, junit.compileTest">
<jar destfile="./build/streaming.jar" basedir="./build/obj" includes="**/*Test*.class" update="true" />
</target>
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc
sourcepath="./src:../../../core/java/src:../../ministreaming/java/src" destdir="./build/javadoc"
<javadoc access="package"
source="${javac.version}"
destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
windowtitle="Streaming" />
failonerror="true"
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
<group title="Streaming Library Implementation" packages="*" />
<sourcepath>
<pathelement location="./src" />
</sourcepath>
<classpath>
<pathelement location="../../../core/java/build/i2p.jar" />
<pathelement location="../../ministreaming/java/build/mstreaming.jar" />
<!-- following are only for debian builds -->
<pathelement location="../../../core/java/build/libintl.jar" />
<pathelement location="../../../core/java/build/gnu-getopt.jar" />
</classpath>
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="../../../installer/resources/package-lists/java/" />
<link offline="true" href="${javaeedocs.url}" packagelistLoc="../../../installer/resources/package-lists/javaee/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="../../../installer/resources/package-lists/jetty/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="../../../installer/resources/package-lists/wrapper/" />
</javadoc>
</target>
<!-- for Maven Central -->
@ -254,6 +277,7 @@
<fileset dir="./build/javadoc" />
</jar>
</target>
<target name="sourcesJar">
<jar jarfile="./build/streaming-${release.number}-sources.jar">
<fileset dir="./src" />

View File

@ -1925,9 +1925,13 @@
<!-- end custom installers -->
<!-- unit tests -->
<target name="buildTest">
<target name="buildCoreTest">
<ant dir="core/java/" target="jarTest" />
</target>
<target name="buildRouterTest" depends="buildCoreTest">
<ant dir="router/java/" target="jarTest" />
</target>
<target name="buildTest" depends="buildRouterTest">
<copy file="core/java/build/i2ptest.jar" todir="build" />
<copy file="router/java/build/routertest.jar" todir="build" />
<!-- broken -->
@ -2208,7 +2212,8 @@
<echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
</target>
<target name="mavenCentral.deps" depends="buildRouter, buildStreaming">
<!-- depends on buildCoreTest so that the router unit test javadocs can find the core unit test classes -->
<target name="mavenCentral.deps" depends="buildRouter, buildStreaming, buildCoreTest">
<ant dir="core/java/">
<target name="javadocJar" />
<target name="sourcesJar" />
@ -2252,6 +2257,10 @@
<copy file="apps/ministreaming/java/build/mstreaming-${release.number}-sources.jar" todir="pkg-mavencentral/" />
<copy file="apps/streaming/java/build/streaming-${release.number}-sources.jar" todir="pkg-mavencentral/" />
<copy file="apps/jetty/build/servlet-i2p-${release.number}-sources.jar" todir="pkg-mavencentral/" />
<echo message="This requires the Maven Ant Tasks to be installed." />
<echo message="If this fails, on Debian jessie or, Ubuntu trusty/xenial:" />
<echo message="sudo apt-get install libmaven-ant-tasks-java" />
<echo message="Sorry, not available on more recent distributions" />
<!-- POMs -->
<artifact:pom id="i2ppom" groupId="net.i2p" artifactId="i2p" version="${release.number}"
name="I2P Core"

View File

@ -135,7 +135,39 @@
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc sourcepath="./src:./test/junit" destdir="./build/javadoc" packagenames="*" use="true" splitindex="true" windowtitle="I2P SDK" />
<javadoc access="package"
source="${javac.version}"
destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
failonerror="true"
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
<group title="Core SDK (i2p.jar)" packages="*" />
<sourcepath>
<pathelement location="./src" />
<pathelement location="./test/junit" />
</sourcepath>
<classpath>
<pathelement location="${hamcrest.home}/hamcrest-core.jar" />
<pathelement location="${hamcrest.home}/hamcrest-library.jar" />
<pathelement location="${hamcrest.home}/hamcrest-integration.jar" />
<pathelement location="${hamcrest.home}/hamcrest-all.jar" />
<pathelement location="${junit.home}/junit4.jar" />
<!-- following are only for debian builds -->
<pathelement location="build/libintl.jar" />
<pathelement location="build/gnu-getopt.jar" />
<pathelement location="build/json-simple.jar" />
</classpath>
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="../../installer/resources/package-lists/java/" />
<link offline="true" href="${javaeedocs.url}" packagelistLoc="../../installer/resources/package-lists/javaee/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="../../installer/resources/package-lists/jetty/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="../../installer/resources/package-lists/wrapper/" />
</javadoc>
</target>
<!-- for Maven Central -->

View File

@ -27,7 +27,7 @@ but there are three other subpackages that are helpful. Specifically:</p><ul>
to be both authenticated and repliable</li>
<li>{@link net.i2p.client.naming} - for applications that want to resolve
readable names into {@link net.i2p.data.Destination}s</li>
<li>{@link net.i2p.client.streaming} - for applications that want to use
<li>net.i2p.client.streaming - for applications that want to use
a streaming API to provide reliable in order message delivery (<b>note</b>:
the streaming library is packaged seperate from the main SDK - in the
mstreaming.jar and streaming.jar)</li>

View File

@ -94,12 +94,41 @@
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc
sourcepath="./src:./test/junit:../../core/java/src:../../core/java/test/junit" destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
windowtitle="I2P Router" />
<javadoc access="package"
source="${javac.version}"
destdir="./build/javadoc"
packagenames="*"
use="true"
splitindex="true"
failonerror="true"
additionalparam="-notimestamp"
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
<group title="Router" packages="*" />
<sourcepath>
<pathelement location="./src" />
<pathelement location="./test/junit" />
</sourcepath>
<classpath>
<pathelement location="../../core/java/build/i2p.jar" />
<pathelement location="../../core/java/build/i2ptest.jar" />
<pathelement location="${hamcrest.home}/hamcrest-core.jar" />
<pathelement location="${hamcrest.home}/hamcrest-library.jar" />
<pathelement location="${hamcrest.home}/hamcrest-integration.jar" />
<pathelement location="${hamcrest.home}/hamcrest-all.jar" />
<pathelement location="${junit.home}/junit4.jar" />
<!-- following are only for debian builds -->
<pathelement location="../../core/java/build/libintl.jar" />
<pathelement location="../../core/java/build/gnu-getopt.jar" />
<pathelement location="../../core/java/build/json-simple.jar" />
</classpath>
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="../../installer/resources/package-lists/java/" />
<link offline="true" href="${javaeedocs.url}" packagelistLoc="../../installer/resources/package-lists/javaee/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="../../installer/resources/package-lists/jetty/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="../../installer/resources/package-lists/wrapper/" />
</javadoc>
</target>
<!-- for Maven Central -->