Skip to content

Commit 0cbd91d

Browse files
authored
Merge pull request #40 from gradle/lptr/support-android-3.1.0-beta2
Support Android 3.1.0-beta2
2 parents 382fb09 + 7dd4273 commit 0cbd91d

File tree

6 files changed

+14
-29
lines changed

6 files changed

+14
-29
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
Some Android plugin versions have issues with Gradle's build cache feature. When applied to an Android project this plugin applies workarounds for these issues based on the Android plugin and Gradle versions.
66

7-
* Supported Gradle versions: all versions between 4.1 and 4.5.1
8-
* Supported Android versions: 3.0.0, 3.0.1, 3.1.0-beta1, 3.2.0-alpha01
7+
* Supported Gradle versions: 4.1+
8+
* Supported Android versions: 3.0.0, 3.0.1, 3.1.0-beta2, 3.2.0-alpha01
99

1010
**Note:** With Android 3.1.x and 3.2.x the cache-fix plugin is only required if you are using Android's data binding feature.
1111

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ version = ["git", "describe", "--match", "[0-9]*", "--dirty"].execute().text.tri
2323
// Maps supported Android plugin versions to the versions of Gradle that support it
2424
def supportedVersions = [
2525
"3.2.0-alpha01": ["4.5", "4.5.1"],
26-
"3.1.0-beta1": ["4.4", "4.4.1", "4.5", "4.5.1"],
26+
"3.1.0-beta2": ["4.4", "4.4.1", "4.5", "4.5.1"],
2727
"3.0.0": ["4.1", "4.2", "4.2.1", "4.3", "4.3.1", "4.4", "4.4.1", "4.5", "4.5.1"],
2828
"3.0.1": ["4.1", "4.2", "4.2.1", "4.3", "4.3.1", "4.4", "4.4.1", "4.5", "4.5.1"],
2929
]

src/main/groovy/org/gradle/android/AndroidCacheFixPlugin.groovy

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import org.gradle.api.tasks.PathSensitivity
1818
import org.gradle.api.tasks.util.PatternFilterable
1919
import org.gradle.internal.Factory
2020
import org.gradle.util.DeprecationLogger
21-
import org.gradle.util.GradleVersion
2221
import org.gradle.util.VersionNumber
2322
import org.slf4j.Logger
2423
import org.slf4j.LoggerFactory
@@ -47,16 +46,12 @@ class AndroidCacheFixPlugin implements Plugin<Project> {
4746

4847
@Override
4948
void apply(Project project) {
50-
def currentGradleVersion = GradleVersion.current()
5149
def currentAndroidVersion = android(Version.ANDROID_GRADLE_PLUGIN_VERSION)
5250

5351
if (!Boolean.getBoolean(IGNORE_VERSION_CHECK_PROPERTY)) {
5452
if (!Versions.SUPPORTED_ANDROID_VERSIONS.contains(currentAndroidVersion)) {
5553
throw new RuntimeException("Android plugin $currentAndroidVersion is not supported by Android cache fix plugin. Supported Android plugin versions: ${Versions.SUPPORTED_ANDROID_VERSIONS.join(", ")}. Override with -D${IGNORE_VERSION_CHECK_PROPERTY}=true.")
5654
}
57-
if (!Versions.SUPPORTED_GRADLE_VERSIONS*.baseVersion.contains(currentGradleVersion.baseVersion)) {
58-
throw new RuntimeException("$currentGradleVersion is not supported by Android cache fix plugin. Supported Gradle versions: ${Versions.SUPPORTED_GRADLE_VERSIONS*.version.join(", ")}. Override with -D${IGNORE_VERSION_CHECK_PROPERTY}=true.")
59-
}
6055
}
6156

6257
def context = new WorkaroundContext(project, new CompilerArgsProcessor(project))

src/main/groovy/org/gradle/android/Versions.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.gradle.android
22

33
import com.google.common.collect.ImmutableMultimap
4+
import com.google.common.collect.ImmutableSortedSet
45
import com.google.common.collect.Multimap
56
import groovy.json.JsonSlurper
67
import groovy.transform.CompileStatic
@@ -26,8 +27,8 @@ class Versions {
2627
def matrix = builder.build()
2728

2829
SUPPORTED_VERSIONS_MATRIX = matrix
29-
SUPPORTED_ANDROID_VERSIONS = matrix.keySet()
30-
SUPPORTED_GRADLE_VERSIONS = (matrix.values() as Set)
30+
SUPPORTED_ANDROID_VERSIONS = ImmutableSortedSet.copyOf(matrix.keySet())
31+
SUPPORTED_GRADLE_VERSIONS = ImmutableSortedSet.copyOf(matrix.values())
3132
}
3233

3334
static VersionNumber android(String version) {
Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
11
package org.gradle.android
22

3+
import org.gradle.internal.impldep.com.google.common.collect.Iterables
34
import spock.lang.Unroll
45

56
import static java.util.regex.Pattern.quote
67

78
class PluginApplicationTest extends AbstractTest {
89

9-
@Unroll
10-
def "does not apply workarounds with Gradle #gradleVersion"() {
11-
def projectDir = temporaryFolder.newFolder()
12-
new SimpleAndroidApp(projectDir, cacheDir, "3.0.0", true).writeProject()
13-
expect:
14-
def result = withGradleVersion(gradleVersion)
15-
.withProjectDir(projectDir)
16-
.withArguments("tasks")
17-
.buildAndFail()
18-
result.output =~ /Gradle ${quote(gradleVersion)} is not supported by Android cache fix plugin. Supported Gradle versions: .*. Override with -Dorg.gradle.android.cache-fix.ignoreVersionCheck=true./
19-
20-
where:
21-
gradleVersion << ["4.6-20180111235836+0000"]
22-
}
23-
2410
@Unroll
2511
def "does not apply workarounds with Android #androidVersion"() {
2612
def projectDir = temporaryFolder.newFolder()
2713
new SimpleAndroidApp(projectDir, cacheDir, androidVersion, true).writeProject()
2814
expect:
29-
def result = withGradleVersion("4.1")
15+
def result = withGradleVersion(Iterables.getLast(Versions.SUPPORTED_GRADLE_VERSIONS).version)
3016
.withProjectDir(projectDir)
3117
.withArguments("tasks")
3218
.buildAndFail()
@@ -43,7 +29,7 @@ class PluginApplicationTest extends AbstractTest {
4329
def message = "WARNING: Android cache-fix plugin is not required when using Android plugin $androidVersion or later, unless Android data binding is used."
4430

4531
expect:
46-
def result = withGradleVersion("4.5.1")
32+
def result = withGradleVersion(Iterables.getLast(Versions.SUPPORTED_GRADLE_VERSIONS).version)
4733
.withProjectDir(projectDir)
4834
.withArguments("tasks")
4935
.withDebug(true)
@@ -60,8 +46,10 @@ class PluginApplicationTest extends AbstractTest {
6046
false | false | "3.0.0"
6147
false | true | "3.0.1"
6248
false | false | "3.0.1"
63-
false | true | "3.1.0-beta1"
64-
true | false | "3.1.0-beta1"
49+
false | true | "3.1.0-beta2"
50+
true | false | "3.1.0-beta2"
51+
false | true | "3.2.0-alpha01"
52+
true | false | "3.2.0-alpha01"
6553
description = warns ? "warn" : "not warn"
6654
}
6755
}

src/test/groovy/org/gradle/android/WorkaroundTest.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class WorkaroundTest extends Specification {
2424
"3.1.0-alpha08" | ["DataBindingDependencyArtifacts"]
2525
"3.1.0-alpha09" | ["DataBindingDependencyArtifacts"]
2626
"3.1.0-beta1" | ["DataBindingDependencyArtifacts"]
27+
"3.1.0-beta2" | ["DataBindingDependencyArtifacts"]
2728
"3.2.0-alpha01" | ["DataBindingDependencyArtifacts"]
2829
}
2930
}

0 commit comments

Comments
 (0)