Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

generate goal (org.netbeans.apitest.SigtestGenerate) should have a way to specify other generate options like exclude specified subpackages in sigtest-maven-plugin #159

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions tools/sigtest/src/main/java/org/netbeans/apitest/Sigtest.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public final class Sigtest extends Task {
Path classpath;
String version;
String packages;
String excludes;
ActionType action;
Boolean failOnError;
File report;
Expand All @@ -56,6 +57,10 @@ public void setPackages(String s) {
packages = s;
}

public void setExcludes(String s) {
excludes = s;
}

public void setAction(ActionType s) {
action = s;
}
Expand Down Expand Up @@ -120,6 +125,11 @@ protected String getPackages() {
return packages;
}

@Override
protected String getExcludes() {
return excludes;
}

@Override
protected File getFileName() {
return fileName;
Expand Down
30 changes: 21 additions & 9 deletions tools/sigtest/src/main/java/org/netbeans/apitest/SigtestCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ public final class SigtestCheck extends AbstractMojo {
private String action;
@Parameter(defaultValue = "")
private String packages;
@Parameter(defaultValue = "")
private String excludes;
@Parameter(defaultValue = "${project.build.directory}/surefire-reports/sigtest/TEST-${project.build.finalName}.xml")
private File report;
@Parameter(defaultValue = "true", property = "sigtest.fail")
Expand All @@ -108,17 +110,22 @@ public SigtestCheck() {
}

SigtestCheck(MavenProject prj, File classes, File sigfile, String action, String packages, File report, boolean failOnError, final String[] ignoreJDKClasses, boolean ignoreAllJDKClasses) {
this.prj = prj;
this.classes = classes;
this.sigfile = sigfile;
this.action = action;
this.packages = packages;
this.report = report;
this.failOnError = failOnError;
this.ignoreJDKClasses = Arrays.copyOf(ignoreJDKClasses, ignoreJDKClasses.length);
this.ignoreAllJDKClasses = ignoreAllJDKClasses;
this(prj, classes, sigfile, action, packages, report, failOnError, ignoreJDKClasses, ignoreAllJDKClasses, "");
}

SigtestCheck(MavenProject prj, File classes, File sigfile, String action, String packages, File report, boolean failOnError, final String[] ignoreJDKClasses, boolean ignoreAllJDKClasses, final String excludes) {
this.prj = prj;
this.classes = classes;
this.sigfile = sigfile;
this.action = action;
this.packages = packages;
this.report = report;
this.failOnError = failOnError;
this.ignoreJDKClasses = Arrays.copyOf(ignoreJDKClasses, ignoreJDKClasses.length);
this.ignoreAllJDKClasses = ignoreAllJDKClasses;
this.excludes = excludes;
}



public void execute() throws MojoExecutionException, MojoFailureException {
Expand All @@ -143,6 +150,11 @@ protected String getPackages() {
return packages;
}

@Override
protected String getExcludes() {
return excludes;
}

@Override
protected File getFileName() {
return sigfile;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ public final class SigtestCompare extends AbstractMojo {
private File sigfile;
@Parameter(defaultValue = "")
private String packages;
@Parameter(defaultValue = "")
String excludes;

@Parameter(property = "maven.compiler.release")
private String release;
Expand Down Expand Up @@ -99,7 +101,7 @@ public void execute() throws MojoExecutionException, MojoFailureException {
throw new MojoExecutionException("Cannot resolve " + artifact, ex);
}

SigtestGenerate generate = new SigtestGenerate(prj, artifact.getFile(), sigfile, packages, releaseVersion, release, ignoreJDKClasses, ignoreAllJDKClasses);
SigtestGenerate generate = new SigtestGenerate(prj, artifact.getFile(), sigfile, packages, releaseVersion, release, ignoreJDKClasses, ignoreAllJDKClasses, excludes);
generate.execute();

SigtestCheck check = new SigtestCheck(prj, classes, sigfile, action, packages, report, failOnError, ignoreJDKClasses, ignoreAllJDKClasses);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
<configuration>
<release>8</release> <!-- specify version of JDK API to use 6,7,8,...15 -->
<packages>org.yourcompany.app.api,org.yourcompany.help.api</packages>
<excludes>org.yourcompany.app.api.internalonly,org.yourcompany.help.api.ignorethispackagealso</packages>
</configuration>
</plugin>
* </pre>
Expand All @@ -78,6 +79,8 @@ public final class SigtestGenerate extends AbstractMojo {
private File sigfile;
@Parameter(defaultValue = "")
private String packages;
@Parameter(defaultValue = "")
String excludes;
@Parameter(property = "maven.compiler.release")
private String release;
/**
Expand All @@ -101,14 +104,19 @@ public SigtestGenerate() {
}

SigtestGenerate(MavenProject prj, File classes, File sigfile, String packages, String version, String release, final String[] ignoreJDKClasses, boolean ignoreAllJdkClasses) {
this(prj, classes, sigfile, packages, version, release, ignoreJDKClasses, ignoreAllJdkClasses,"");
}

public SigtestGenerate(MavenProject prj, File file, File sigfile, String packages, String releaseVersion, String release, String[] ignoreJDKClasses, boolean ignoreAllJDKClasses, String excludes) {
this.prj = prj;
this.classes = classes;
this.sigfile = sigfile;
this.packages = packages;
this.version = version;
this.version = releaseVersion;
this.release = release;
this.ignoreJDKClasses = Arrays.copyOf(ignoreJDKClasses, ignoreJDKClasses.length);
this.ignoreAllJdkClasses = ignoreAllJdkClasses;
this.excludes = excludes;
}

public void execute() throws MojoExecutionException, MojoFailureException {
Expand All @@ -128,6 +136,9 @@ protected String getPackages() {
return packages;
}

@Override
protected String getExcludes() { return excludes; }

@Override
protected File getFileName() {
return sigfile;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,17 @@ public final int execute() throws IOException {
arg.add(prefix.trim());
arg.add(p);
}
// Add each specified excludes package name to "-Exclude $PACKAGENAME
if (getExcludes() != null ) {
StringTokenizer excludesTokenizer = new StringTokenizer(getExcludes(), ",:;");
while (excludesTokenizer.hasMoreTokens()) {
String p = excludesTokenizer.nextToken().trim();
String prefix = "-Exclude "; // NOI18N
arg.add(prefix.trim());
arg.add(p);
}
}

if (getClasspath() != null) {
StringBuffer sb = new StringBuffer();
String pref = "";
Expand Down Expand Up @@ -262,6 +273,7 @@ private static Document createDocument(String rootQName) throws IOException {

protected abstract Integer getRelease();
protected abstract String getPackages();
protected abstract String getExcludes();
protected abstract File getFileName();
protected abstract String getAction();
protected abstract String getVersion();
Expand Down