Skip to content

Commit d6e3dbd

Browse files
committed
Refactor doclet execution approach
1 parent 55e91f9 commit d6e3dbd

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/io/doc/DocletExecutor.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package de.fraunhofer.iem.swan.io.doc;
22

3-
//import com.sun.tools.javadoc.Main;
4-
//import jdk.javadoc.doclet.StandardDoclet;
3+
import javax.tools.DocumentationTool;
4+
import javax.tools.ToolProvider;
5+
import java.util.ArrayList;
6+
import java.util.List;
57

68
/**
79
* @author Oshando Johnson on 03.06.20
810
*/
911
public class DocletExecutor {
1012

1113
public static final String SSL_DOCLET = "info.semanticsoftware.doclet.SSLDoclet";
12-
public static final String COVERAGE_DOCLET = "com.manoelcampos.javadoc.coverage.CoverageDoclet";
14+
public static final String COVERAGE_DOCLET = "de.fraunhofer.iem.coveragedoclet.CoverageDoclet";
1315
public static final String STANDARD_DOCLET = "com.sun.tools.doclets.standard.Standard";
1416

1517
private String outputDir;
@@ -33,20 +35,20 @@ public void setDoclet(String doclet) {
3335

3436
public void runDoclet(String sourcePath, String packages, String outputPath) {
3537

36-
System.out.println("runnin:"+ sourcePath+ " "+ packages);
37-
String[] docletParams = new String[]{
38-
// "Xdoclint:none",
39-
"-private",
40-
"-doclet", getDoclet(),
38+
ArrayList<String> docletArgs = new ArrayList<>(List.of(
39+
"-doclet", doclet,
4140
"-docletpath", getDocletPath(doclet),
42-
"-d", outputPath,
43-
// "-source", "8",
44-
// "-o", "coverage-report.html",
4541
"-sourcepath", sourcePath,
4642
"-subpackages", packages
47-
};
48-
System.out.println();
49-
//Main.execute(docletParams);
43+
));
44+
45+
if (doclet.equals(SSL_DOCLET)) {
46+
docletArgs.add("--destdir");
47+
docletArgs.add(outputPath);
48+
}
49+
50+
DocumentationTool docTool = ToolProvider.getSystemDocumentationTool();
51+
docTool.run(System.in, System.out, System.err, docletArgs.toArray(new String[0]));
5052
}
5153

5254
public void runDoclet(String sourcePath, String packages) {
@@ -62,9 +64,9 @@ public void runDoclet(String sourcePath, String packages) {
6264
private String getDocletPath(String doclet) {
6365
switch (doclet) {
6466
case SSL_DOCLET:
65-
return "../ssldoclet/target/ssldoclet-1.2.jar";
67+
return "swan-javadoc-exporter/target/classes";
6668
case COVERAGE_DOCLET:
67-
return "../javadoc-coverage/target/javadoc-coverage-1.2.0.jar";
69+
return "../doc-coverage-doclet/target/classes/";
6870
case STANDARD_DOCLET:
6971
return "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/tools.jar";
7072
}

0 commit comments

Comments
 (0)