Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*******************************************************************************
* Copyright (c) 2013, 2015 IBH SYSTEMS GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBH SYSTEMS GmbH - initial API and implementation
*******************************************************************************/
package org.eclipse.tycho.extras.docbundle;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Dependency;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.project.MavenProject;
import org.apache.maven.toolchain.ToolchainManager;
import org.codehaus.plexus.util.FileUtils;
import org.eclipse.tycho.core.osgitools.BundleReader;
/**
* 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.
*
* @since 0.20.0
*/
@Mojo(name = "javadoc", defaultPhase = LifecyclePhase.PROCESS_CLASSES, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = false)
public class JavadocMojo extends AbstractMojo {
/**
* The directory where the javadoc content will be generated
*
*/
@Parameter(property = "outputDirectory", defaultValue = "${project.build.directory}/reference/api", required = true)
private File outputDirectory;
/**
* The base output directory
*/
@Parameter(property = "basedir", required = true, readonly = true)
private File basedir;
/**
* The build directory where temporary build files will be placed
*/
@Parameter(property = "project.build.directory", required = true)
private File buildDirectory;
/**
* An option to clean out the whole outputDirectory first.
*/
@Parameter(property = "cleanFirst", defaultValue = "true")
private boolean cleanFirst;
@Component
private ToolchainManager toolchainManager;
@Parameter(property = "session", required = true, readonly = true)
private MavenSession session;
@Parameter(property = "reactorProjects", required = true, readonly = true)
protected List reactorProjects;
/**
* The scopes that the dependencies must have in order to be included
*/
@Parameter(property = "scopes", defaultValue = "compile,provided")
private Set scopes = new HashSet<>();
/**
* Maven module types that will be used to include the source
*/
@Parameter(property = "sourceTypes", defaultValue = "eclipse-plugin")
private Set sourceTypes = new HashSet<>();
/**
* 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 '*' character as wildcard