From 00d57ac2a443ee2acb2bf75fd1ce935d6dbbaea4 Mon Sep 17 00:00:00 2001 From: Evan Tatarka Date: Sun, 21 Apr 2019 14:28:14 -0400 Subject: [PATCH] Update to support the latest version of gradle --- .../groovy/me/tatarka/RetrolambdaExec.groovy | 2 +- .../me/tatarka/RetrolambdaExtension.groovy | 2 +- .../me/tatarka/RetrolambdaPlugin.groovy | 2 +- .../tatarka/RetrolambdaPluginAndroid.groovy | 4 +- .../me/tatarka/RetrolambdaPluginGroovy.groovy | 2 +- .../me/tatarka/RetrolambdaPluginJava.groovy | 4 +- .../groovy/me/tatarka/RetrolambdaTask.groovy | 8 ++-- .../me/tatarka/RetrolambdaTransform.groovy | 6 +-- .../groovy/me/tatarka/RetrolambdaUtil.groovy | 22 +++++++++++ .../java/me/tatarka/AndroidAppPluginTest.java | 35 +++++++++++------- .../me/tatarka/AndroidFeaturePluginTest.java | 29 +++++++++------ .../java/me/tatarka/AndroidLibPluginTest.java | 27 ++++++++------ .../me/tatarka/AndroidTestPluginTest.java | 9 +++-- .../java/me/tatarka/GroovyPluginTest.java | 24 +++++++++++- .../test/java/me/tatarka/JavaPluginTest.java | 25 ++++++++++++- .../src/test/java/me/tatarka/TestHelpers.java | 34 +++++++++++++---- gradle.properties | 6 +-- gradle/wrapper/gradle-wrapper.jar | Bin 54795 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 24 ++++++++++-- gradlew.bat | 18 ++++++++- sample-android-app/build.gradle | 16 ++++---- sample-android-feature/build.gradle | 8 ++-- sample-android-lib/build.gradle | 8 ++-- sample-android-test/build.gradle | 13 +++---- 25 files changed, 233 insertions(+), 99 deletions(-) diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExec.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExec.groovy index c90c0b1..8b64253 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExec.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExec.groovy @@ -58,7 +58,7 @@ class RetrolambdaExec { if (!retrolambda.onJava8) { def java = "${retrolambda.tryGetJdk()}/bin/java" if (!checkIfExecutableExists(java)) { - throw new ProjectConfigurationException("Cannot find executable: $java", null) + throw new ProjectConfigurationException("Cannot find executable: $java", (Throwable) null) } exec.executable java } diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExtension.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExtension.groovy index 25f200c..0dc36a8 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExtension.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaExtension.groovy @@ -101,7 +101,7 @@ public class RetrolambdaExtension { String tryGetJdk() { String jdk = getJdk() if (jdk == null) { - throw new ProjectConfigurationException("When running gradle with java 5, 6 or 7, you must set the path to jdk8, either with property retrolambda.jdk or environment variable JAVA8_HOME", null) + throw new ProjectConfigurationException("When running gradle with java 5, 6 or 7, you must set the path to jdk8, either with property retrolambda.jdk or environment variable JAVA8_HOME", (Throwable) null) } return jdk } diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPlugin.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPlugin.groovy index 82cc2da..e3e39a6 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPlugin.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPlugin.groovy @@ -28,7 +28,7 @@ import org.gradle.api.plugins.JavaPlugin @CompileStatic public class RetrolambdaPlugin implements Plugin { - protected static String retrolambdaCompile = "net.orfjackal.retrolambda:retrolambda:2.5.1" + protected static String retrolambdaCompile = "net.orfjackal.retrolambda:retrolambda:2.5.6" @Override void apply(Project project) { diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginAndroid.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginAndroid.groovy index 6acbc97..cf13423 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginAndroid.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginAndroid.groovy @@ -143,7 +143,7 @@ class RetrolambdaPluginAndroid implements Plugin { // Set JDK 8 for the compiler task def javac = "${retrolambda.tryGetJdk()}/bin/javac" if (!checkIfExecutableExists(javac)) { - throw new ProjectConfigurationException("Cannot find executable: $javac", null) + throw new ProjectConfigurationException("Cannot find executable: $javac", (Throwable) null) } javaCompile.options.fork = true javaCompile.options.forkOptions.executable = javac @@ -154,7 +154,7 @@ class RetrolambdaPluginAndroid implements Plugin { if (!retrolambda.onJava8) { def java = "${retrolambda.tryGetJdk()}/bin/java" if (!checkIfExecutableExists(java)) { - throw new ProjectConfigurationException("Cannot find executable: $java", null) + throw new ProjectConfigurationException("Cannot find executable: $java", (Throwable) null) } test.executable java } diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginGroovy.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginGroovy.groovy index 501a420..aeea804 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginGroovy.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginGroovy.groovy @@ -34,7 +34,7 @@ public class RetrolambdaPluginGroovy implements Plugin { if (project.retrolambda.isIncluded(set.name)) { def name = RetrolambdaUtil.capitalize(set.name) def taskName = "compileRetrolambdaGroovy$name" - def oldOutputDir = set.output.classesDir + def oldOutputDir = RetrolambdaUtil.groovyOutputDir(set) def newOutputDir = project.file("$project.buildDir/retrolambda/$set.name") /* No compileJavaTaskName present, so re-use any modifications applied to compileJava and remap to Groovy */ diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginJava.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginJava.groovy index d046615..f489df1 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginJava.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaPluginJava.groovy @@ -40,7 +40,7 @@ public class RetrolambdaPluginJava implements Plugin { if (retrolambda.isIncluded(set.name)) { def name = RetrolambdaUtil.capitalize(set.name) def taskName = "compileRetrolambda$name" - def oldOutputDir = set.output.classesDir + def oldOutputDir = RetrolambdaUtil.javaOutputDir(set) def newOutputDir = project.file("$project.buildDir/retrolambda/$set.name") def compileJavaTask = project.tasks.getByName(set.compileJavaTaskName) as JavaCompile @@ -82,7 +82,7 @@ public class RetrolambdaPluginJava implements Plugin { if (oldJdkPath != null) { def oldJava = "$oldJdkPath/bin/java" if (!checkIfExecutableExists(oldJava)) { - throw new ProjectConfigurationException("Cannot find executable: $oldJava", null) + throw new ProjectConfigurationException("Cannot find executable: $oldJava", (Throwable) null) } task.executable oldJava } diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTask.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTask.groovy index 5206888..fefc2a6 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTask.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTask.groovy @@ -55,13 +55,13 @@ class RetrolambdaTask extends DefaultTask { def retrolambda = project.extensions.getByType(RetrolambdaExtension) List changes = [] - inputs.outOfDate { changes += it } + inputs.outOfDate { changes.add(it) } // Ensure output is cleared if build is not incremental. if (inputs.incremental && !changes.isEmpty() && !retrolambda.incremental) { outputDir.eachFile { it.delete() } } else { - changes.each { InputFileDetails change -> + for (InputFileDetails change : changes) { if (change.modified) deleteRelated(toOutput(change.file)) } } @@ -90,11 +90,11 @@ class RetrolambdaTask extends DefaultTask { } } - def File toOutput(File file) { + File toOutput(File file) { return outputDir.toPath().resolve(inputDir.toPath().relativize(file.toPath())).toFile() } - def deleteRelated(File file) { + void deleteRelated(File file) { def className = file.name.replaceFirst(/\.class$/, '') // Delete any generated Lambda classes project.logger.debug("Deleting related for " + className + " in " + file.parentFile) diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTransform.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTransform.groovy index 3e7359e..7154973 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTransform.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaTransform.groovy @@ -116,7 +116,7 @@ class RetrolambdaTransform extends Transform { BaseVariant variant = getVariant(context, outputDir) if (variant == null) { - throw new ProjectConfigurationException('Missing variant for output dir: ' + outputDir, null) + throw new ProjectConfigurationException('Missing variant for output dir: ' + outputDir, (Throwable) null) } FileCollection classpathFiles = variant.javaCompile.classpath @@ -132,7 +132,7 @@ class RetrolambdaTransform extends Transform { } else { // If this is null it means the javaCompile task didn't need to run, however, we still // need to run but can't without the bootClasspath. Just fail and ask the user to rebuild. - throw new ProjectConfigurationException("Unable to obtain the bootClasspath. This may happen if your javaCompile tasks didn't run but retrolambda did. You must rebuild your project or otherwise force javaCompile to run.", null) + throw new ProjectConfigurationException("Unable to obtain the bootClasspath. This may happen if your javaCompile tasks didn't run but retrolambda did. You must rebuild your project or otherwise force javaCompile to run.", (Throwable) null) } return classpathFiles @@ -161,7 +161,7 @@ class RetrolambdaTransform extends Transform { // This will no longer be needed when the transform api supports per-variant transforms String[] parts = outputDir.toURI().path.split('/intermediates/transforms/retrolambda/|/folders/[0-9]+') if (parts.length < 2) { - throw new ProjectConfigurationException('Could not extract variant from output dir: ' + outputDir, null) + throw new ProjectConfigurationException('Could not extract variant from output dir: ' + outputDir, (Throwable) null) } String variantPath = parts[1] for (BaseVariant variant : variants) { diff --git a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaUtil.groovy b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaUtil.groovy index 3fe26c6..31da9a8 100644 --- a/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaUtil.groovy +++ b/gradle-retrolambda/src/main/groovy/me/tatarka/RetrolambdaUtil.groovy @@ -1,7 +1,29 @@ package me.tatarka +import groovy.transform.TypeChecked +import groovy.transform.TypeCheckingMode +import org.gradle.api.tasks.SourceSet + class RetrolambdaUtil { static String capitalize(CharSequence self) { return self.length() == 0 ? "" : "" + Character.toUpperCase(self.charAt(0)) + self.subSequence(1, self.length()) } + + @TypeChecked(TypeCheckingMode.SKIP) + static File javaOutputDir(SourceSet set) { + try { + return set.java.outputDir + } catch (Exception e) { + return set.output.classesDir + } + } + + @TypeChecked(TypeCheckingMode.SKIP) + static File groovyOutputDir(SourceSet set) { + try { + return set.groovy.outputDir + } catch (Exception e) { + return set.output.classesDir + } + } } diff --git a/gradle-retrolambda/src/test/java/me/tatarka/AndroidAppPluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/AndroidAppPluginTest.java index ddecfcd..1812ad6 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/AndroidAppPluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/AndroidAppPluginTest.java @@ -15,11 +15,7 @@ import java.util.Arrays; import java.util.Collection; -import static me.tatarka.TestHelpers.findFile; -import static me.tatarka.TestHelpers.getPluginClasspath; -import static me.tatarka.TestHelpers.newestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.oldestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.writeFile; +import static me.tatarka.TestHelpers.*; import static org.assertj.core.api.Assertions.assertThat; @RunWith(Parameterized.class) @@ -38,19 +34,22 @@ public static Collection data() { private final String androidVersion; private final String gradleVersion; private final String buildToolsVersion; + private final String kotlinVersion; private File rootDir; private File buildFile; - public AndroidAppPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion) { + public AndroidAppPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion, String kotlinVersion) { this.androidVersion = androidVersion; this.gradleVersion = gradleVersion; this.buildToolsVersion = buildToolsVersion; + this.kotlinVersion = kotlinVersion; } @Before public void setup() throws Exception { rootDir = testProjectDir.getRoot(); buildFile = testProjectDir.newFile("build.gradle"); + copyLocalPropertiesIfExists(rootDir); } @Test @@ -75,6 +74,7 @@ public void assembleDebug() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -92,7 +92,7 @@ public void assembleDebug() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -147,6 +147,7 @@ public void assembleDebugIncremental() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -164,7 +165,7 @@ public void assembleDebugIncremental() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -240,6 +241,7 @@ public void assembleDebugIncrementalShouldntLeak() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -257,7 +259,7 @@ public void assembleDebugIncrementalShouldntLeak() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -293,13 +295,15 @@ public void assembleDebugIncrementalShouldntLeak() throws Exception { assertThat(lambdaClassFile).exists(); // delete the java file - javaFile.delete(); + if (!javaFile.delete()) { + throw new Exception("Failed to delete file: " + javaFile); + } errorOutput = new StringWriter(); result = GradleRunner.create() .withGradleVersion(gradleVersion) .withProjectDir(rootDir) - .withArguments("assembleDebug", "--stacktrace", "-Pandroid.enableAapt2=false") + .withArguments("assembleDebug", "--stacktrace", "-Pandroid.enableAapt2=false", "--debug") .forwardStdError(errorOutput) .build(); @@ -329,6 +333,7 @@ public void unitTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -350,7 +355,7 @@ public void unitTest() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -414,6 +419,7 @@ public void androidTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -494,7 +500,7 @@ public void withKotlin() throws Exception { " dependencies {\n" + " classpath files(" + getPluginClasspath() + ")\n" + " classpath 'com.android.tools.build:gradle:" + androidVersion + "'\n" + - " classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0'" + + " classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlinVersion + "'" + " }\n" + "}\n" + "\n" + @@ -503,6 +509,7 @@ public void withKotlin() throws Exception { "apply plugin: 'kotlin-android'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -523,7 +530,7 @@ public void withKotlin() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); diff --git a/gradle-retrolambda/src/test/java/me/tatarka/AndroidFeaturePluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/AndroidFeaturePluginTest.java index 110ee66..1386aa0 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/AndroidFeaturePluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/AndroidFeaturePluginTest.java @@ -16,11 +16,7 @@ import java.util.Arrays; import java.util.Collection; -import static me.tatarka.TestHelpers.findFile; -import static me.tatarka.TestHelpers.getPluginClasspath; -import static me.tatarka.TestHelpers.newestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.oldestSupportedAndroidFeaturePluginVersion; -import static me.tatarka.TestHelpers.writeFile; +import static me.tatarka.TestHelpers.*; import static org.assertj.core.api.Assertions.assertThat; @RunWith(Parameterized.class) @@ -39,19 +35,22 @@ public static Collection data() { private final String androidVersion; private final String gradleVersion; private final String buildToolsVersion; + private final String compileSdkVersion; private File rootDir; private File buildFile; - public AndroidFeaturePluginTest(String androidVersion, String gradleVersion, String buildToolsVersion) { + public AndroidFeaturePluginTest(String androidVersion, String gradleVersion, String buildToolsVersion, String kotlinVersion) { this.androidVersion = androidVersion; this.gradleVersion = gradleVersion; this.buildToolsVersion = buildToolsVersion; + this.compileSdkVersion = buildToolsVersion.substring(0, buildToolsVersion.indexOf('.')); } @Before public void setup() throws Exception { rootDir = testProjectDir.getRoot(); buildFile = testProjectDir.newFile("build.gradle"); + copyLocalPropertiesIfExists(rootDir); } @Test @@ -74,11 +73,13 @@ public void assembleDebug() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + + " jcenter()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 24\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -91,7 +92,7 @@ public void assembleDebug() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -146,11 +147,13 @@ public void unitTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + + " jcenter()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 24\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -167,7 +170,7 @@ public void unitTest() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -231,11 +234,13 @@ public void androidTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + + " jcenter()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 23\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -254,7 +259,7 @@ public void androidTest() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); diff --git a/gradle-retrolambda/src/test/java/me/tatarka/AndroidLibPluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/AndroidLibPluginTest.java index 788f0ef..731bab6 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/AndroidLibPluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/AndroidLibPluginTest.java @@ -16,11 +16,7 @@ import java.util.Arrays; import java.util.Collection; -import static me.tatarka.TestHelpers.findFile; -import static me.tatarka.TestHelpers.getPluginClasspath; -import static me.tatarka.TestHelpers.newestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.oldestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.writeFile; +import static me.tatarka.TestHelpers.*; import static org.assertj.core.api.Assertions.assertThat; @RunWith(Parameterized.class) @@ -39,19 +35,22 @@ public static Collection data() { private final String androidVersion; private final String gradleVersion; private final String buildToolsVersion; + private final String compileSdkVersion; private File rootDir; private File buildFile; - public AndroidLibPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion) { + public AndroidLibPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion, String kotlinVersion) { this.androidVersion = androidVersion; this.gradleVersion = gradleVersion; this.buildToolsVersion = buildToolsVersion; + this.compileSdkVersion = buildToolsVersion.substring(0, buildToolsVersion.indexOf('.')); } @Before public void setup() throws Exception { rootDir = testProjectDir.getRoot(); buildFile = testProjectDir.newFile("build.gradle"); + copyLocalPropertiesIfExists(rootDir); } @Test @@ -74,11 +73,13 @@ public void assembleDebug() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + + " jcenter()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 24\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -91,7 +92,7 @@ public void assembleDebug() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -146,11 +147,12 @@ public void unitTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 24\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -167,7 +169,7 @@ public void unitTest() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); @@ -231,11 +233,12 @@ public void androidTest() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + "android {\n" + - " compileSdkVersion 23\n" + + " compileSdkVersion " + compileSdkVersion + "\n" + " buildToolsVersion '" + buildToolsVersion + "'\n" + " \n" + " defaultConfig {\n" + @@ -254,7 +257,7 @@ public void androidTest() throws Exception { writeFile(manifestFile, //language="XML" - "\n" + " \n" + ""); diff --git a/gradle-retrolambda/src/test/java/me/tatarka/AndroidTestPluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/AndroidTestPluginTest.java index 9e6723c..f5a5dbc 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/AndroidTestPluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/AndroidTestPluginTest.java @@ -16,9 +16,7 @@ import java.util.Arrays; import java.util.Collection; -import static me.tatarka.TestHelpers.getPluginClasspath; -import static me.tatarka.TestHelpers.newestSupportedAndroidPluginVersion; -import static me.tatarka.TestHelpers.writeFile; +import static me.tatarka.TestHelpers.*; import static org.assertj.core.api.Assertions.assertThat; @RunWith(Parameterized.class) @@ -39,7 +37,7 @@ public static Collection data() { private final String buildToolsVersion; private File rootDir; - public AndroidTestPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion) { + public AndroidTestPluginTest(String androidVersion, String gradleVersion, String buildToolsVersion, String kotlinVersion) { this.androidVersion = androidVersion; this.gradleVersion = gradleVersion; this.buildToolsVersion = buildToolsVersion; @@ -49,6 +47,7 @@ public AndroidTestPluginTest(String androidVersion, String gradleVersion, String public void setup() throws Exception { rootDir = testProjectDir.getRoot(); testProjectDir.newFile("build.gradle"); + copyLocalPropertiesIfExists(rootDir); } @Test @@ -79,6 +78,7 @@ public void test() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + @@ -133,6 +133,7 @@ public void test() throws Exception { "apply plugin: 'me.tatarka.retrolambda'\n" + "\n" + "repositories {\n" + + " maven { url 'https://maven.google.com' }\n" + " mavenCentral()\n" + "}\n" + "\n" + diff --git a/gradle-retrolambda/src/test/java/me/tatarka/GroovyPluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/GroovyPluginTest.java index 547d878..454ecce 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/GroovyPluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/GroovyPluginTest.java @@ -10,22 +10,41 @@ import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.junit.runners.Parameterized; import java.io.File; import java.io.StringWriter; +import java.util.Arrays; +import java.util.Collection; import static me.tatarka.TestHelpers.findFile; import static me.tatarka.TestHelpers.getPluginClasspath; +import static me.tatarka.TestHelpers.newestSupportedGradleVersion; +import static me.tatarka.TestHelpers.oldestSupportedGradleVersion; import static me.tatarka.TestHelpers.writeFile; import static org.assertj.core.api.Assertions.assertThat; -@RunWith(JUnit4.class) +@RunWith(Parameterized.class) public class GroovyPluginTest { + + @Parameterized.Parameters(name = "{0}") + public static Collection data() { + return Arrays.asList(new Object[][]{ + oldestSupportedGradleVersion(), + newestSupportedGradleVersion() + }); + } + @Rule public final TemporaryFolder testProjectDir = new TemporaryFolder(); + private final String gradleVersion; private File rootDir; private File buildFile; + public GroovyPluginTest(String gradleVersion) { + this.gradleVersion = gradleVersion; + } + @Before public void setup() throws Exception { rootDir = testProjectDir.getRoot(); @@ -62,6 +81,7 @@ public void assemble() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("assemble", "--stacktrace") .forwardStdError(errorOutput) @@ -130,6 +150,7 @@ public void test() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("test", "--stacktrace") .forwardStdError(errorOutput) @@ -177,6 +198,7 @@ public void run() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("run") .forwardStdError(errorOutput) diff --git a/gradle-retrolambda/src/test/java/me/tatarka/JavaPluginTest.java b/gradle-retrolambda/src/test/java/me/tatarka/JavaPluginTest.java index febd710..0f7752c 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/JavaPluginTest.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/JavaPluginTest.java @@ -10,22 +10,42 @@ import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import org.junit.runners.Parameterized; import java.io.File; import java.io.StringWriter; +import java.util.Arrays; +import java.util.Collection; import static me.tatarka.TestHelpers.findFile; import static me.tatarka.TestHelpers.getPluginClasspath; +import static me.tatarka.TestHelpers.newestSupportedGradleVersion; +import static me.tatarka.TestHelpers.oldestSupportedGradleVersion; import static me.tatarka.TestHelpers.writeFile; import static org.assertj.core.api.Assertions.assertThat; -@RunWith(JUnit4.class) +@RunWith(Parameterized.class) public class JavaPluginTest { + + @Parameterized.Parameters(name = "{0}") + public static Collection data() { + return Arrays.asList(new Object[][]{ + oldestSupportedGradleVersion(), + newestSupportedGradleVersion() + }); + } + @Rule public final TemporaryFolder testProjectDir = new TemporaryFolder(); + private final String gradleVersion; + private File rootDir; private File buildFile; + public JavaPluginTest(String gradleVersion) { + this.gradleVersion = gradleVersion; + } + @Before public void setup() throws Exception { rootDir = testProjectDir.getRoot(); @@ -58,6 +78,7 @@ public void assemble() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("assemble", "--stacktrace") .forwardStdError(errorOutput) @@ -125,6 +146,7 @@ public void test() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("test", "--stacktrace") .forwardStdError(errorOutput) @@ -168,6 +190,7 @@ public void run() throws Exception { StringWriter errorOutput = new StringWriter(); BuildResult result = GradleRunner.create() + .withGradleVersion(gradleVersion) .withProjectDir(rootDir) .withArguments("run") .forwardStdError(errorOutput) diff --git a/gradle-retrolambda/src/test/java/me/tatarka/TestHelpers.java b/gradle-retrolambda/src/test/java/me/tatarka/TestHelpers.java index a2dc88e..5272a16 100644 --- a/gradle-retrolambda/src/test/java/me/tatarka/TestHelpers.java +++ b/gradle-retrolambda/src/test/java/me/tatarka/TestHelpers.java @@ -1,5 +1,7 @@ package me.tatarka; +import org.apache.commons.io.FileUtils; + import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -47,27 +49,38 @@ public static void writeFile(File file, String content) throws IOException { } } + public static String[] oldestSupportedGradleVersion() { + return new String[]{"2.6"}; + } + + public static String[] newestSupportedGradleVersion() { + return new String[]{"5.1.1"}; + } + public static String[] oldestSupportedAndroidPluginVersion() { return new String[]{ /*androidPluginVersion=*/"1.5.0", - /*gradleVersion=*/"2.5", - /*buildToolsVersion=*/"24.0.3" + /*gradleVersion=*/"2.6", + /*buildToolsVersion=*/"24.0.3", + /*kotlinVersion=*/"1.1.0", }; } public static String[] oldestSupportedAndroidFeaturePluginVersion() { return new String[]{ - /*androidPluginVersion=*/"3.0.0-alpha3", - /*gradleVersion=*/"4.0-milestone-1", - /*buildToolsVersion=*/"25.0.2" + /*androidPluginVersion=*/"3.1.0", + /*gradleVersion=*/"4.4", + /*buildToolsVersion=*/"26.0.2", + /*kotlinVersion=*/"1.1.0", }; } public static String[] newestSupportedAndroidPluginVersion() { return new String[]{ /*androidPluginVersion=*/currentAndroidPluginVersion(), - /*gradleVersion=*/"4.1-milestone-1", - /*buildToolsVersion=*/"26.0.0" + /*gradleVersion=*/"5.4", + /*buildToolsVersion=*/"28.0.3", + /*kotlinVersion=*/"1.3.10", }; } @@ -96,4 +109,11 @@ public FileVisitResult visitFile(Path path, BasicFileAttributes basicFileAttribu }); return result[0]; } + + public static void copyLocalPropertiesIfExists(File destinationDir) throws IOException { + File localProperties = new File("../local.properties"); + if (localProperties.exists()) { + FileUtils.copyFile(localProperties, new File(destinationDir, "local.properties")); + } + } } diff --git a/gradle.properties b/gradle.properties index f682c3f..5fd0f30 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ group = me.tatarka -version = 3.7.0 -androidPluginVersion = 3.0.0-alpha7 -useAlpha = true \ No newline at end of file +version = 3.7.1 +androidPluginVersion = 3.4.0 +useAlpha = true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index dbbc7571eb0bbb0520cc4de592dc5b3cd3342459..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch literal 55616 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