Skip to content

Commit 49c47aa

Browse files
authored
Update: Support for Android Gradle Plugin 8.3 (#88)
- Minimum required Gradle version is now 8.4 (Google claims 8.3 but that seems no longer to be true) - Minimum required Android Gradle Plugin is now 8.3.0-alpha05 - Fixes: #82 - Java version is raised to 17 as well as Kotlin to 1.8.22
1 parent ee6f664 commit 49c47aa

File tree

22 files changed

+303
-184
lines changed

22 files changed

+303
-184
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- uses: actions/setup-java@v3
1313
with:
1414
distribution: 'zulu'
15-
java-version: '11'
15+
java-version: '17'
1616
- name: test
1717
uses: reactivecircus/android-emulator-runner@v2
1818
with:

README.md

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -137,32 +137,50 @@ rootCoverage {
137137

138138

139139
# 4. Compatibility
140-
| Version | [Android Gradle plugin version](https://developer.android.com/studio/releases/gradle-plugin#updating-gradle) | Gradle version |
141-
|----------------|--------------------------------------------------------------------------------------------------------------|-------------------|
142-
| **1.7.0** | 7.4 | 7.5+ |
143-
| **1.6.0** | 7.3 | 7.4+ |
144-
| **1.5.3** | 7.2 | 7.3+ |
145-
| **See note 2** | 7.0-7.2-alpha05 | n.a. |
146-
| **1.4.0** | 4.2<br/>4.1 | 6.7.1+<br/>6.5+ |
147-
| **1.3.1** | 4.0<br/>3.6 | 6.1.1+<br/>5.6.4+ |
148-
| **1.2.1** | 3.5 | 5.4.1+ |
149-
| **1.1.2** | 3.4 | 5.1.1+ |
150-
| **1.1.1** | 3.3 | 4.10.1+ |
151-
| **1.0.2** | 3.2 | 4.6+ |
152-
153-
> *Note 1: Plugin versions below 1.3.1, such as 1.3.0, are only available on the Gradle Plugin Portal
154-
(`maven { url "https://plugins.gradle.org/m2/"}`) and not on Maven Central. These versions use the
155-
group ID `org.neotech.plugin` and plugin ID `org.neotech.plugin.rootcoverage`!*
156-
157-
> *Note 2: Android Gradle Plugin version 7 till 7.2.0-alpha05 suffered from a
158-
[bug](https://issuetracker.google.com/issues/195860510) that caused instrumented coverage in Android library modules to fail, this has only been
159-
[fixed](https://github.com/NeoTech-Software/Android-Root-Coverage-Plugin/issues/36#issuecomment-977241070)
160-
in Android Gradle Plugin 7.2.0-alpha06. This means there is no stable working plugin version available for these AGP versions.*
161-
162-
> *Note 3: Android Gradle Plugin versions before `3.4.0-alpha05` are affected by a bug that in certain conditions can
163-
cause Jacoco instrumentation to fail in combination with inline kotlin methods shared across modules. For more information
164-
see: <https://issuetracker.google.com/issues/109771903> and <https://issuetracker.google.com/issues/110763361>.
165-
If your project is affected by this upgrade to an Android Gradle Plugin version of at least `3.4.0-alpha05`.*
140+
| Version | [Android Gradle plugin version](https://developer.android.com/studio/releases/gradle-plugin#updating-gradle) | Gradle version |
141+
|--------------------|--------------------------------------------------------------------------------------------------------------|-------------------|
142+
| **1.8.0-SNAPSHOT** | 8.3.0-alpha05 | 8.4+ *(note 1)* |
143+
| **Note 2** | 8.0-8.3.0-alpha04 | n.a. |
144+
| **1.7.0** | 7.4 | 7.5+ |
145+
| **1.6.0** | 7.3 | 7.4+ |
146+
| **1.5.3** | 7.2 | 7.3+ |
147+
| **Note 3** | 7.0-7.2.0-alpha05 | n.a. |
148+
| **1.4.0** | 4.2<br/>4.1 | 6.7.1+<br/>6.5+ |
149+
| **1.3.1** | 4.0<br/>3.6 | 6.1.1+<br/>5.6.4+ |
150+
| **1.2.1** | 3.5 | 5.4.1+ |
151+
| **1.1.2** | 3.4 | 5.1.1+ |
152+
| **1.1.1** | 3.3 | 4.10.1+ |
153+
| **1.0.2** | 3.2 | 4.6+ |
154+
155+
<details open>
156+
<summary><b>Note 1: AGP 8.3.0 and Gradle 8.3</b></summary>
157+
158+
*The Android developers website claims AGP 8.3 requires Gradle version 8.3 as a minimum, however from at least alpha release 11 this seems to instead be Gradle version 8.4!*
159+
</details>
160+
161+
<details open>
162+
<summary><b>Note 2: AGP 8.0-8.3.0-alpha04</b></summary>
163+
164+
*Android Gradle Plugin version 8.0 till 8.3.0-alpha04 suffered from a [bug](https://issuetracker.google.com/u/0/issues/281266702) that made it impossible (by normal means) to get access to non-instrumented class files, this bug lasted for a long time and was only fixed in 8.3.0-alpha05. This means there is no stable working plugin version available for these AGP versions.*
165+
</details>
166+
167+
<details>
168+
<summary><b>Note 3: AGP 7.0-7.2.0-alpha05</b></summary>
169+
170+
*Android Gradle Plugin version 7 till 7.2.0-alpha05 suffered from a [bug](https://issuetracker.google.com/issues/195860510) that caused instrumented coverage in Android library modules to fail, this has only been [fixed](https://github.com/NeoTech-Software/Android-Root-Coverage-Plugin/issues/36#issuecomment-977241070) in Android Gradle Plugin 7.2.0-alpha06. This means there is no stable working plugin version available for these AGP versions.*
171+
</details>
172+
173+
<details>
174+
<summary><b>Note 4: group ID change & Maven Central</b></summary>
175+
176+
*Plugin versions below 1.3.1, such as 1.3.0, are only available on the Gradle Plugin Portal (`maven { url "https://plugins.gradle.org/m2/"}`) and not on Maven Central. These versions use the group ID `org.neotech.plugin` and plugin ID `org.neotech.plugin.rootcoverage`!*
177+
</details>
178+
179+
<details>
180+
<summary><b>Note 5: AGP versions before 3.4.0-alpha05</b></summary>
181+
182+
*Android Gradle Plugin versions before `3.4.0-alpha05` are affected by a bug that in certain conditions can cause Jacoco instrumentation to fail in combination with inline kotlin methods shared across modules. For more information see: [issue #109771903](https://issuetracker.google.com/issues/109771903) and [issue #110763361](https://issuetracker.google.com/issues/110763361). If your project is affected by this upgrade to an Android Gradle Plugin version of at least `3.4.0-alpha05`.*
183+
</details>
166184

167185

168186
# 4. Bintray/JCenter shutdown

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
androidMinSdk = "19"
33
androidTargetSdk = "33"
44
androidCompileSdk = "33"
5-
kotlin = "1.7.21"
6-
androidGradlePlugin = "7.4.2"
5+
kotlin = "1.8.22"
6+
androidGradlePlugin = "8.3.0-alpha11"
77

88
[libraries]
99
appCompat = { module = "androidx.appcompat:appcompat", version = "1.6.1" }

gradle/wrapper/gradle-wrapper.jar

2.35 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
4+
networkTimeout=10000
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)