<?xml version="1.0" encoding="UTF-8"?>

<!-- Generated by maven-plugin-tools 3.6 -->

<plugin>
  <name>Tycho Document Bundle Plugin</name>
  <description>Additional tools for Tycho</description>
  <groupId>org.eclipse.tycho.extras</groupId>
  <artifactId>tycho-document-bundle-plugin</artifactId>
  <version>1.5.1-SNAPSHOT</version>
  <goalPrefix>tycho-document-bundle</goalPrefix>
  <mojos>
    <mojo>
      <goal>javadoc</goal>
      <description>Create the javadoc based API reference for this bundle
This mojo creates the javadoc documentation by calling the javadoc application from the command line. In addition it creates a ready to include toc-xml file for the Eclipse Help system.
The sources for creating the javadoc are generated automatically based on the dependency that this project has. As dependency you can specify any other maven project, for example the feature project that references you other bundles. Included features will be added to the list.</description>
      <requiresDependencyResolution>compile+runtime</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>process-classes</phase>
      <implementation>org.eclipse.tycho.extras.docbundle.JavadocMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <since>0.20.0</since>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>buildDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>The build directory where temporary build files will be placed</description>
        </parameter>
        <parameter>
          <name>cleanFirst</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>An option to clean out the whole outputDirectory first.</description>
        </parameter>
        <parameter>
          <name>javadocOptions</name>
          <type>org.eclipse.tycho.extras.docbundle.JavadocOptions</type>
          <required>false</required>
          <editable>true</editable>
          <description>Options for calling the javadoc application. Possible options are (all options are optional):
-	ignoreError, specifies if errors calling javadoc should be ignored
-	doclet, used as javadoc -doclet parameter
-	docletArtifacts, dependencies will be resovled and added as -docletpath parameter
-	encoding, used as javadoc -encoding parameter (default: ${project.build.sourceEncoding}
-	additionalArguments, a list of additional arguments passed to javadoc
-	includes/excludes, the list of names of packages to be included in or excluded from JavaDoc processing; use &apos;*&apos; character as wildcard
Example configuration:
&lt;configuration&gt;
   &lt;javadocOptions&gt;
      &lt;ignoreError&gt;false&lt;/ignoreError&gt;
      &lt;encoding&gt;UTF-8&lt;/encoding&gt;
      &lt;doclet&gt;foo.bar.MyDoclet&lt;/doclet&gt;
      &lt;docletArtifacts&gt;
         &lt;docletArtifact&gt;
            &lt;groupId&gt;foo.bar&lt;/groupId&gt;
            &lt;artifactId&gt;foo.bar.mydocletartifact&lt;/artifactId&gt;
            &lt;version&gt;1.0&lt;/version&gt;
         &lt;/docletArtifact&gt;
      &lt;/docletArtifacts&gt;
      &lt;includes&gt;
         &lt;include&gt;com.example.*&lt;/include&gt;
      &lt;/includes&gt;
      &lt;excludes&gt;
         &lt;exclude&gt;com.example.internal.*&lt;/exclude&gt;
      &lt;/excludes&gt;   
      &lt;additionalArguments&gt;
         &lt;additionalArgument&gt;-windowtitle &apos;The Window Title&apos;&lt;/additionalArgument&gt;
         &lt;additionalArgument&gt;-nosince&lt;/additionalArgument&gt;
      &lt;/additionalArguments&gt;
   &lt;/javadocOptions&gt;
&lt;/configuration&gt;
</description>
        </parameter>
        <parameter>
          <name>outputDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>The directory where the javadoc content will be generated</description>
        </parameter>
        <parameter>
          <name>scopes</name>
          <type>java.util.Set</type>
          <required>false</required>
          <editable>true</editable>
          <description>The scopes that the dependencies must have in order to be included</description>
        </parameter>
        <parameter>
          <name>skipTocGen</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Set this property to true to skip the generation of the Eclipse TOC files.</description>
        </parameter>
        <parameter>
          <name>sourceTypes</name>
          <type>java.util.Set</type>
          <required>false</required>
          <editable>true</editable>
          <description>Maven module types that will be used to include the source</description>
        </parameter>
        <parameter>
          <name>tocFile</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The output location of the toc file.
This file will be overwritten.</description>
        </parameter>
        <parameter>
          <name>tocOptions</name>
          <type>org.eclipse.tycho.extras.docbundle.TocOptions</type>
          <required>false</required>
          <editable>true</editable>
          <description>Options for creating the toc files.
-	mainLabel, specifies the main label of the toc file (default: &apos;API Reference&apos;)
-	mainFilename, specifies the filename of the TOC file (default: &apos;overview-summary.html&apos;)
Example configuration:
&lt;configuration&gt;
   &lt;tocOptions&gt;
      &lt;mainLabel&gt;My own label&lt;/mainLabel&gt;
      &lt;mainFilename&gt;myOverviewSummary.html&lt;/mainFilename&gt;
   &lt;/tocOptions&gt;
&lt;/configuration&gt;
</description>
        </parameter>
      </parameters>
      <configuration>
        <buildDirectory implementation="java.io.File">${project.build.directory}</buildDirectory>
        <cleanFirst implementation="boolean" default-value="true">${cleanFirst}</cleanFirst>
        <javadocOptions implementation="org.eclipse.tycho.extras.docbundle.JavadocOptions">${javadocOptions}</javadocOptions>
        <outputDirectory implementation="java.io.File" default-value="${project.build.directory}/reference/api">${outputDirectory}</outputDirectory>
        <scopes implementation="java.util.Set" default-value="compile,provided">${scopes}</scopes>
        <skipTocGen implementation="boolean" default-value="false">${skipTocGen}</skipTocGen>
        <sourceTypes implementation="java.util.Set" default-value="eclipse-plugin">${sourceTypes}</sourceTypes>
        <tocFile implementation="java.io.File" default-value="${project.build.directory}/tocjavadoc.xml">${tocFile}</tocFile>
        <tocOptions implementation="org.eclipse.tycho.extras.docbundle.TocOptions">${tocOptions}</tocOptions>
      </configuration>
    </mojo>
  </mojos>
</plugin>