John
John

Reputation:

How to generate javadoc with ant, for an existing project?

I want to make a Javadoc from an ant build file, but I don't see where it is. In build.xml I have:

  <description>
    A sample build file for this project
  </description>

  <property name="source.dir" location="src"/>
  <property name="build.dir" location="bin"/>
  <property name="doc.dir" location="doc"/>
  <property name="main.class" value="proj1.Proj1"/>

  <target name="init" description="setup project directories">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${doc.dir}"/>
  </target>

  <target name="compile" depends="init" description="compile java sources">
    <javac srcdir="${source.dir}" destdir="${build.dir}"/>
  </target>

  <target name="run" description="run the project">
    <java dir="${build.dir}" classname="${main.class}" fork="yes">
        <arg line="${args}"/>
    </java>
  </target>

  <target name="clean" description="tidy up the workspace">
    <delete dir="${build.dir}"/>
    <delete dir="${doc.dir}"/>
    <delete>
      <fileset defaultexcludes="no" dir="${source.dir}" includes="**/*~"/>
    </delete>
  </target>

  <!-- Generate javadocs for current project into ${doc.dir} -->
  <target name="doc" depends="init" description="generate documentation">
    <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
  </target>

</project>

Where is the Javadoc located? Is it a hidden file or something placed in that directory?

Upvotes: 9

Views: 26148

Answers (2)

easai
easai

Reputation: 81

If you are using Eclipse, and your source files are under ${source.dir}/main, this works:

<target name="doc" depends="init" description="generate documentation">
<delete dir="${doc.dir}" />
<mkdir dir="${doc.dir}" />
    <javadoc destdir="${doc.dir}">
        <fileset dir="${source.dir}/main" />
    </javadoc>
</target>

Upvotes: 1

Pascal Thivent
Pascal Thivent

Reputation: 570645

You have a doc target defined that generates javadoc in ${doc.dir} which is set to doc.

  <!-- Generate javadocs for current project into ${doc.dir} -->
  <target name="doc" depends="init" description="generate documentation">
    <javadoc sourcepath="${source.dir}" destdir="${doc.dir}"/>
  </target>

So, to generate the javadoc just run:

$ ant doc

And you'll find it in the doc sub directory.

Upvotes: 18

Related Questions