Skip to content

Commit dc573dc

Browse files
committed
Some cleanups and improvements to Groovy scripts (type safety)
1 parent 83b859c commit dc573dc

File tree

3 files changed

+21
-13
lines changed

3 files changed

+21
-13
lines changed

src/tools/groovy/generate-deprecated-java5.groovy

+5-3
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
*/
1616

1717
import de.thetaphi.forbiddenapis.DeprecatedGen;
18+
19+
import java.util.zip.ZipEntry;
1820
import java.util.zip.ZipInputStream;
1921

20-
new DeprecatedGen(properties['build.java.runtime'], new File(System.getProperty("java.home"), "lib/rt.jar"), new File(properties['deprecated.output.file'])) {
22+
new DeprecatedGen<File>(properties['build.java.runtime'], new File(System.getProperty("java.home"), "lib/rt.jar"), properties['deprecated.output.file'] as File) {
2123
@Override
22-
protected void collectClasses(def source) throws IOException {
24+
protected void collectClasses(File source) throws IOException {
2325
new ZipInputStream(new FileInputStream(source)).withStream {
24-
def entry;
26+
ZipEntry entry;
2527
while ((entry = it.getNextEntry()) != null) {
2628
try {
2729
if (entry.isDirectory()) continue;

src/tools/groovy/generate-deprecated-java9.groovy

+9-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,18 @@
1515
*/
1616

1717
import de.thetaphi.forbiddenapis.DeprecatedGen;
18-
import java.nio.file.*;
18+
19+
import java.nio.file.Files;
20+
import java.nio.file.FileVisitResult;
21+
import java.nio.file.Path;
22+
import java.nio.file.Paths;
23+
import java.nio.file.PathMatcher;
24+
import java.nio.file.SimpleFileVisitor;
1925
import java.nio.file.attribute.BasicFileAttributes;
2026

21-
new DeprecatedGen(properties['build.java.runtime'], URI.create("jrt:/"), new File(properties['deprecated.output.file'])) {
27+
new DeprecatedGen<URI>(properties['build.java.runtime'], URI.create("jrt:/"), properties['deprecated.output.file'] as File) {
2228
@Override
23-
protected void collectClasses(def uri) throws IOException {
29+
protected void collectClasses(URI uri) throws IOException {
2430
Path modules = Paths.get(uri);
2531
PathMatcher fileMatcher = modules.getFileSystem().getPathMatcher("glob:*.class"),
2632
prefixMatcher = modules.getFileSystem().getPathMatcher("glob:/java.**");

src/tools/groovy/generate-deprecated.groovy

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616

1717
import org.apache.tools.ant.BuildException;
1818

19-
def objectClassURL = ClassLoader.getSystemClassLoader().getResource("java/lang/Object.class");
20-
def isJava9 = objectClassURL != null && "jrt".equalsIgnoreCase(objectClassURL.getProtocol());
19+
URL objectClassURL = ClassLoader.getSystemClassLoader().getResource("java/lang/Object.class");
20+
boolean isJava9 = objectClassURL != null && "jrt".equalsIgnoreCase(objectClassURL.getProtocol());
2121

22-
def hasRTJar = new File(properties['java.home'], "lib/rt.jar").isFile();
22+
boolean hasRTJar = new File(properties['java.home'], "lib/rt.jar").isFile();
2323

24-
def vendor = properties['java.vendor'].toLowerCase(Locale.ENGLISH);
25-
def isOracle = vendor.contains("oracle") || vendor.contains("sun microsystems");
26-
def isDetectedJavaVersion = properties['java.version'].startsWith(properties['build.java.runtime']);
24+
String vendor = properties['java.vendor'].toLowerCase(Locale.ENGLISH);
25+
boolean isOracle = vendor.contains("oracle") || vendor.contains("sun microsystems");
26+
boolean isDetectedJavaVersion = properties['java.version'].startsWith(properties['build.java.runtime']);
2727

2828
if (isOracle && isDetectedJavaVersion && (isJava9 || hasRTJar)) {
29-
def script = isJava9 ? "generate-deprecated-java9.groovy" : "generate-deprecated-java5.groovy";
29+
String script = isJava9 ? "generate-deprecated-java9.groovy" : "generate-deprecated-java5.groovy";
3030
evaluate(new File(properties['groovy-tools.dir'], script));
3131
} else {
3232
throw new BuildException("Regenerating the deprecated signatures files need stock Oracle/Sun JDK, "+

0 commit comments

Comments
 (0)