Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update to Java 6 as minimum requirement #71

Merged
merged 3 commits into from
Sep 9, 2015
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
22 changes: 10 additions & 12 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
</condition>
</fail>

<fail message="Minimum supported Java version is 1.5.">
<fail message="Minimum supported Java version is 1.6.">
<condition>
<not><available classname="java.lang.StringBuilder"/></not>
<not><hasmethod classname="java.lang.String" method="isEmpty"/></not>
</condition>
</fail>

Expand All @@ -53,7 +53,6 @@
-->
<condition property="build.java.runtime" value="${-cleaned.specification.version}" else="unknown">
<or>
<equals arg1="${-cleaned.specification.version}" arg2="1.5"/>
<equals arg1="${-cleaned.specification.version}" arg2="1.6"/>
<equals arg1="${-cleaned.specification.version}" arg2="1.7"/>
<equals arg1="${-cleaned.specification.version}" arg2="1.8"/>
Expand Down Expand Up @@ -81,7 +80,7 @@
<property file="${user.home}/build.properties" />
<property file="build.properties" />

<property name="jdk.version" value="1.5"/>
<property name="jdk.version" value="1.6"/>
<property name="maven.version" value="2.2.1"/>
<property name="maven-plugin-plugin.version" value="3.3"/>

Expand Down Expand Up @@ -124,7 +123,6 @@

<condition property="tests.supported">
<or>
<equals arg1="${build.java.runtime}" arg2="1.5"/>
<equals arg1="${build.java.runtime}" arg2="1.6"/>
<equals arg1="${build.java.runtime}" arg2="1.7"/>
<equals arg1="${build.java.runtime}" arg2="1.8"/>
Expand Down Expand Up @@ -529,17 +527,17 @@
<echo level="info" message="Generating test classes using sun.misc internal APIs (needs Oracle Java):"/>
<delete dir="src/test/antunit" includes="Oracle*.class"/>
<javac includeantruntime="false" srcdir="src/test/antunit" destdir="src/test/antunit" includes="Oracle*.java"
nowarn="true" source="1.5" target="1.5" debug="true" deprecation="false" encoding="${build.encoding}">
nowarn="true" source="1.6" target="1.6" debug="true" deprecation="false" encoding="${build.encoding}">
<!-- This disables the symbol file used to detect internal APIs while compiling: -->
<compilerarg value="-XDignore.symbol.file=true"/>
</javac>
</target>

<target name="-generate-test-classes-jdk5">
<echo level="info" message="Generating test classes for Java 5:"/>
<delete dir="src/test/antunit" includes="Java5*.class"/>
<javac includeantruntime="false" srcdir="src/test/antunit" destdir="src/test/antunit" includes="Java5*.java"
nowarn="true" source="1.5" target="1.5" debug="true" deprecation="false" encoding="${build.encoding}"/>
<target name="-generate-test-classes-jdk6">
<echo level="info" message="Generating test classes for Java 6:"/>
<delete dir="src/test/antunit" includes="Java6*.class"/>
<javac includeantruntime="false" srcdir="src/test/antunit" destdir="src/test/antunit" includes="Java6*.java"
nowarn="true" source="1.6" target="1.6" debug="true" deprecation="false" encoding="${build.encoding}"/>
</target>

<target name="-generate-test-classes-jdk8" if="-gen.jdk8">
Expand All @@ -549,7 +547,7 @@
nowarn="true" source="1.8" target="1.8" debug="true" deprecation="false" encoding="${build.encoding}"/>
</target>

<target name="generate-test-classes" depends="-generate-test-classes-init,-generate-test-classes-sunmisc,-generate-test-classes-jdk5,-generate-test-classes-jdk8" description="Regenerates .class files used by tests if the current JDK version supports it"/>
<target name="generate-test-classes" depends="-generate-test-classes-init,-generate-test-classes-sunmisc,-generate-test-classes-jdk6,-generate-test-classes-jdk8" description="Regenerates .class files used by tests if the current JDK version supports it"/>

<target name="show-help-mojo" depends="install-maven-artifacts" description="Shows help about mojo usage">
<artifact:mvn mavenVersion="${maven.version}" failonerror="true" fork="true" taskname="help">
Expand Down
6 changes: 3 additions & 3 deletions ivy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@
<!-- Gradle also needs Groovy, but we need it as build tool, too: -->
<dependency org="org.codehaus.groovy" name="groovy-all" rev="2.2.2" conf="build,buildtools"/>
<!-- ASM 5.0.4 minimal: -->
<dependency org="org.ow2.asm" name="asm" rev="5.0.4" conf="build,bundle"/>
<dependency org="org.ow2.asm" name="asm-commons" rev="5.0.4" conf="build,bundle"/>
<dependency org="org.ow2.asm" name="asm" rev="5.0.4" conf="build,bundle,buildtools"/>
<dependency org="org.ow2.asm" name="asm-commons" rev="5.0.4" conf="build,bundle,buildtools"/>
<!--
We also bundle plexus-util, as we cannot rely on maven providing it.
See: http://jira.codehaus.org/browse/MNG-2892 and related issues.
We use version 1.1, because it's smallest and has DirectoryScanner and no forbidden apis! :-)
-->
<dependency org="org.codehaus.plexus" name="plexus-utils" rev="1.1" conf="build,bundle"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2" conf="build,bundle"/>
<dependency org="com.googlecode.jarjar" name="jarjar" rev="1.3" conf="buildtools"/>
<dependency org="org.sonatype.plugins" name="jarjar-maven-plugin" rev="1.9" conf="buildtools"/>
<dependency org="org.apache.maven" name="maven-ant-tasks" rev="2.1.3" conf="buildtools"/>
<dependency org="org.apache.ant" name="ant-antunit" rev="1.3" conf="test"/>
<dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="test"/>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/thetaphi/forbiddenapis/Checker.java
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ private ClassSignature getClassFromClassLoader(final String clazz) throws ClassN
return c;
}

// not before Java 6: @Override
@Override
public ClassSignature lookupRelatedClass(String internalName) {
final Type type = Type.getObjectType(internalName);
if (type.getSort() != Type.OBJECT) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public String format(String className, String source) {
return sb.toString();
}

// not before Java 6: @Override
@Override
public int compareTo(ForbiddenViolation other) {
if (this.groupId == other.groupId) {
return Long.signum((long) this.lineNo - (long) other.lineNo);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/de/thetaphi/forbiddenapis/StdIoLogger.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,17 @@ public final class StdIoLogger implements Logger {

private StdIoLogger() {}

@Override
public void error(String msg) {
System.err.println("ERROR: " + msg);
}

@Override
public void warn(String msg) {
System.err.println("WARNING: " + msg);
}

@Override
public void info(String msg) {
System.out.println(msg);
}
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/de/thetaphi/forbiddenapis/ant/AntTask.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,18 @@ public void execute() throws BuildException {
if (failOnViolation) options.add(FAIL_ON_VIOLATION);
if (failOnUnresolvableSignatures) options.add(FAIL_ON_UNRESOLVABLE_SIGNATURES);
final Checker checker = new Checker(new Logger() {
@Override
public void error(String msg) {
log(msg, Project.MSG_ERR);
}

@Override
public void warn(String msg) {
// ANT has no real log levels printed, so prefix with "WARNING":
log("WARNING: " + msg, Project.MSG_WARN);
}

@Override
public void info(String msg) {
log(msg, Project.MSG_INFO);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,12 @@ public void setFailOnUnresolvableSignatures(boolean failOnUnresolvableSignatures
* Other ForbiddenApis implementations use another name: {@code failOnViolation}
* Default is {@code false}.
*/
@Override
public boolean getIgnoreFailures() {
return data.ignoreFailures;
}

@Override
public void setIgnoreFailures(boolean ignoreFailures) {
data.ignoreFailures = ignoreFailures;
}
Expand Down Expand Up @@ -256,11 +258,13 @@ public void setSuppressAnnotations(List<String> suppressAnnotations) {
* The default is a single include with pattern '**&#47;*.class'
* @since 1.0
*/
@Override
@Input
public Set<String> getIncludes() {
return getPatternSet().getIncludes();
}

@Override
public CheckForbiddenApis setIncludes(Iterable<String> includes) {
getPatternSet().setIncludes(includes);
return this;
Expand All @@ -272,51 +276,61 @@ public CheckForbiddenApis setIncludes(Iterable<String> includes) {
* Set of patterns matching class files to be excluded from checking.
* @since 1.0
*/
@Override
@Input
public Set<String> getExcludes() {
return getPatternSet().getExcludes();
}

@Override
public CheckForbiddenApis setExcludes(Iterable<String> excludes) {
getPatternSet().setExcludes(excludes);
return this;
}

@Override
public CheckForbiddenApis exclude(String... arg0) {
getPatternSet().exclude(arg0);
return this;
}

@Override
public CheckForbiddenApis exclude(Iterable<String> arg0) {
getPatternSet().exclude(arg0);
return this;
}

@Override
public CheckForbiddenApis exclude(Spec<FileTreeElement> arg0) {
getPatternSet().exclude(arg0);
return this;
}

@Override
public CheckForbiddenApis exclude(@SuppressWarnings("rawtypes") Closure arg0) {
getPatternSet().exclude(arg0);
return this;
}

@Override
public CheckForbiddenApis include(String... arg0) {
getPatternSet().include(arg0);
return this;
}

@Override
public CheckForbiddenApis include(Iterable<String> arg0) {
getPatternSet().include(arg0);
return this;
}

@Override
public CheckForbiddenApis include(Spec<FileTreeElement> arg0) {
getPatternSet().include(arg0);
return this;
}

@Override
public CheckForbiddenApis include(@SuppressWarnings("rawtypes") Closure arg0) {
getPatternSet().include(arg0);
return this;
Expand Down Expand Up @@ -346,14 +360,17 @@ public void checkForbidden() throws ForbiddenApiException {
}

final Logger log = new Logger() {
@Override
public void error(String msg) {
getLogger().error(msg);
}

@Override
public void warn(String msg) {
getLogger().warn(msg);
}

@Override
public void info(String msg) {
getLogger().info(msg);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public class ForbiddenApisPlugin implements Plugin<Project> {
/** Name of the base task that depends on one for every SourceSet */
public static final String FORBIDDEN_APIS_EXTENSION_NAME = "forbiddenApis";

// Not before Java 6: @Override
@Override
public void apply(final Project project) {
final String scriptText;
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ protected String getTargetVersion() {
return targetVersion;
}

// Not in Java 5: @Override
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
final Log log = getLog();

Expand Down Expand Up @@ -219,14 +219,17 @@ public void execute() throws MojoExecutionException, MojoFailureException {
if (failOnViolation) options.add(FAIL_ON_VIOLATION);
if (failOnUnresolvableSignatures) options.add(FAIL_ON_UNRESOLVABLE_SIGNATURES);
final Checker checker = new Checker(new Logger() {
@Override
public void error(String msg) {
log.error(msg);
}

@Override
public void warn(String msg) {
log.warn(msg);
}

@Override
public void info(String msg) {
log.info(msg);
}
Expand Down
Loading