package restx.apidocs.doclet; import java.nio.file.Path; import java.util.ArrayList; import java.util.Collection; import java.util.List; import static java.util.Arrays.asList; /** * Date: 19/5/14 * Time: 21:39 */ public class ApidocsDocletRunner { private Path targetDir; private Collection<Path> sources = new ArrayList<>(); public ApidocsDocletRunner setTargetDir(final Path targetDir) { this.targetDir = targetDir; return this; } public ApidocsDocletRunner addSources(Path sources) { this.sources.add(sources); return this; } public void run() { List<String> javadocargs = new ArrayList<>(asList(new String[] { "-d", targetDir.toAbsolutePath().toString(), "-doclet", "restx.apidocs.doclet.ApidocsDoclet", "-restx-target-dir", targetDir.toAbsolutePath().toString(), "-disable-standard-doclet", "-quiet" })); for (Path source : sources) { javadocargs.add(source.toAbsolutePath().toString()); } com.sun.tools.javadoc.Main.execute(javadocargs.toArray(new String[javadocargs.size()])); } public ApidocsDocletRunner addSources(Collection<Path> sources) { this.sources.addAll(sources); return this; } }