Dan Smith created GEODE-572:
-------------------------------
Summary: Generate separate javadocs for public API and internal API
Key: GEODE-572
URL: https://issues.apache.org/jira/browse/GEODE-572
Project: Geode
Issue Type: Sub-task
Reporter: Dan Smith
The javadocs that most geode users are interested in should only include the
public API for geode.
We should exclude the internal directories from the public javadocs. It's
probably still useful to generate internal javadocs for the whole product, but
those should not be docs we direct users too.
For reference, here's the javadoc task from the old gemfire ant build.
{noformat}
<target name="external-javadocs" depends="props, compile-gemfire"
unless="skip.external.jdocs">
<mkdir dir="${docs.dir}"/>
<mkdir dir="${docs.dir}/external"/>
<javadoc additionalparam="-breakiterator -Xwerror -XDignore.symbol.file"
maxmemory="${max.memory}M"
locale="en_US" author="false"
encoding="UTF-8"
docencoding="UTF-8"
destdir="${docs.dir}/external" failonerror="true" nohelp="yes"
overview="${src.dir}/external-overview.html" public="true"
sourcepath="${src.dir}" splitindex="yes" use="yes" version="false"
windowtitle="GemFire Java API Documentation">
<classpath>
<pathelement location="${classes.dir}"/>
<pathelement location="${findbugs-annotations.jar}"/>
<fileset dir="${hiddenlib.dir}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${product.lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
<link href="http://java.sun.com/javase/6/docs/api/"
offline="true"
packagelistLoc="${javadocs.api.dir}"/>
<package name="com/gemstone/gemfire/**/"/>
<excludepackage name="com/gemstone/gemfire/internal/**/"/>
<excludepackage name="com/gemstone/gemfire/**/internal/**/"/>
<excludepackage name="com/gemstone/gemfire/**/xml/**/"/>
<excludepackage name="com/gemstone/gemfire/distributed/**/util/**/"/>
<tag description="<I>Note: Early Access. Please consult GemStone
technical support for assistance with this functionality.</I>"
name="early.Access" enabled="false"/>
<doctitle><h1>GemFire ${gemfire.version} Java API
</h1></doctitle>
<header><i>GemFire ${gemfire.version}</i></header>
<bottom><i>Copyright &copy; 1997-2015 Pivotal Software, Inc.
All rights reserved.</i></bottom>
</javadoc>
<!-- Copy files referenced by javadocs -->
<copy todir="${docs.dir}/external">
<fileset dir="${src.dir}">
<include name="com/gemstone/gemfire/**/*.gif"/>
<exclude name="com/gemstone/gemfire/**/internal/**"/>
</fileset>
</copy>
<!-- Generate the HTML description of the JMX MBeans -->
<property name="xmlFile"
value="${src.dir}/com/gemstone/gemfire/admin/jmx/mbeans-descriptors.xml"/>
<property name="htmlDir"
value="${docs.dir}/external/com/gemstone/gemfire/admin/jmx/doc-files"/>
<mkdir dir="${htmlDir}"/>
<property name="htmlFile" value="${htmlDir}/mbeans-descriptions.html"/>
<java classname="com.gemstone.gemfire.admin.jmx.internal.GenerateMBeanHTML"
failonerror="true" fork="true">
<classpath>
<pathelement path="${classes.dir}"/>
<pathelement location="${log4j-api.jar}"/>
<pathelement location="${log4j-core.jar}"/>
</classpath>
<arg value="${xmlFile}"/>
<arg value="${htmlFile}"/>
</java>
<echo message="Sweeping ${docs.dir}/external for internal references..."
level="info"/>
<checkjavadoc dir="${docs.dir}/external" debug="false">
<docFiles dir="${docs.dir}/external">
<exclude name="**/overview-tree.html"/>
<exclude
name="com/gemstone/gemfire/admin/jmx/doc-files/mbeans-descriptions.html"/>
<exclude name="**/*.fig"/>
</docFiles>
</checkjavadoc>
</target>
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)