В моем проекте у меня есть папка src с исходным кодом приложения и папка test с исходным кодом тестов приложения.
В моей сборке Ant я хотел бы отделить генерацию javadoc от этих исходных кодов. Для генерации javadoc кода src проблем нет, но для генерации javadoc кода тестов у меня возникла проблема, потому что в тестовом коде используется код src.
Моя задача Ant для генерации Javadoc выглядит так:
<path id="classpath-test">
<pathelement path="." />
<pathelement path="${testclasses.home}" />
<pathelement path="${classes.home}" />
<fileset dir="${lib.home}" includes="*.jar" />
<fileset dir="${libtest.home}" includes="*.jar" />
</path>
<target name="compile" ... > // compiles src code of the project in ${classes.home}
<target name="compile-tests" depends="compile">
<javac srcdir="${test.home}"
destdir="${testclasses.home}"
target="1.5"
source="1.5"
debug="true"
>
<classpath refid="classpath-test" />
</javac>
<copy todir="${testclasses.home}">
<fileset dir="${test.home}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="generate-javadoc-tests" depends="compile-tests" >
<javadoc sourcepath="${test.home}" packagenames="*"
destdir="${test-javadoc.home}" verbose="false"
linksource="true" encoding="${encoding}">
<classpath refid="classpath-test" />
</javadoc>
</target>
Переменная $ {test.home} является тестовой папкой. В тесте classpath я поместил jar из junit, чтобы избежать ошибки, связанной с особенностями аннотации для junit во время генерации javadoc. Этот файл содержится в $ {libtest.home}.
Когда я генерирую javadoc, у меня есть несколько предупреждений о коде из тестовой папки, который использует код из папки src, что является нормальным. Ошибки такие:
[javadoc] E:\workspace\app\test\com\app\MyClass.java:9: package com.app.SrcClass does not exist
[javadoc] symbol : class MyClass
[javadoc] location: class com.app.MyClass
Итак, кто-то знает способ включения классов src в classpath, чтобы избежать этих предупреждений, но без включения исходного кода javadoc в тестовый код javadoc.
Или может быть способом отключить эти предупреждения, поскольку многословная опция задачи javadoc в false не отключает эти предупреждения.