This is the sequel of this post where we look at ways to build javadoc documentation as part of an R package
Ant has the javadoc task which we will use to build html files from java sources, leading to this modified build script with the new javadoc target:
1 <project name="Hello Java World" basedir="." default="build" > 2 3 <property name="target.dir" value="../inst/java" /> 4 <property name="javadoc.dir" value="../inst/javadoc" /> 5 6 <target name="clean"> 7 <delete dir="bin" /> 8 <delete dir="${javadoc.dir}" /> 9 </target> 10 11 <target name="compile"> 12 <mkdir dir="bin"/> 13 <javac srcdir="src" destdir="bin" /> 14 </target> 15 16 <target name="javadoc"> 17 <mkdir dir="${javadoc.dir}" /> 18 <javadoc access="public" destdir="${javadoc.dir}" 19 author="true" version="true" use="true" 20 windowtitle="helloJavaWorld - Java API"> 21 22 <fileset dir="src" defaultexcludes="yes"> 23 <include name="**/*.java"/> 24 </fileset> 25 26 </javadoc> 27 </target> 28 29 <target name="build" depends="compile,javadoc"> 30 <jar jarfile="${target.dir}/hellojavaworld.jar"> 31 <fileset dir="bin" /> 32 </jar> 33 </target> 34 35 </project> 36
so that when we run "R CMD build", the directory inst/javadoc gets created and filled with documentation generated from the java sources
The next thing we need is a way to access this documentation from R documentation, so we will just add a link to it from the Rd file, I have added this into the helloJavaWorld.Rd file in the seealso section:
18 \seealso{\link[helloJavaWorld:../javadoc/index]{The Java API of the package}}
This is not a perfect solution but gives a starting point. Potential issues, things to improve :
- It would be better to have a link in the 00Index.html file, but there currently is no way to do something like that
- A way to jump back to the R documentation from the java documentation is needed
I have posted a copy of the built package here, and you can download the source of this version here
Next step, use the junitreport ant task to make a report of unit tests of the java code