Skip to content

Commit 47cc1fc

Browse files
authored
Set default Gradle Version to 8 (#891)
Set default Gradle version to 8 Address review comments
1 parent cf03b7a commit 47cc1fc

File tree

23 files changed

+94
-401
lines changed

23 files changed

+94
-401
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414

1515
- Add Google Truth for easier to debug assertions in tests ([#920](https://github.com/getsentry/sentry-android-gradle-plugin/pull/920))
1616

17+
### Dependencies
18+
19+
- Set build default Gradle Version to 8.14.2 ([#891](https://github.com/getsentry/sentry-android-gradle-plugin/pull/891))
20+
1721
## 5.8.0
1822

1923
### Dependencies

buildSrc/src/main/java/Dependencies.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import org.gradle.util.VersionNumber
1+
import org.gradle.util.internal.VersionNumber
22

33
object BuildPluginsVersion {
4-
val AGP = System.getenv("VERSION_AGP") ?: "7.4.0"
5-
val GROOVY_REDISTRIBUTED = System.getenv("VERSION_GROOVY") ?: "1.2"
4+
val AGP = System.getenv("VERSION_AGP") ?: "8.10.1"
5+
val GROOVY_REDISTRIBUTED = System.getenv("VERSION_GROOVY") ?: "1.7.1"
66

77
// proguard does not support AGP 8 yet
88
fun isProguardApplicable(): Boolean = VersionNumber.parse(AGP).major < 8

gradle/libs.versions.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
kotlin = "1.8.20"
3-
agp = "7.4.0"
3+
agp = "8.10.1"
44

55
asm = "9.4" # // compatibility matrix -> https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/instrumentation/InstrumentationContext#apiversion
66
ktfmt = "0.51"
@@ -19,7 +19,7 @@ kotlinSpring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotli
1919
kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
2020
dokka = { id = "org.jetbrains.dokka", version = "1.8.10" }
2121
spotless = { id = "com.diffplug.spotless", version = "7.0.4" }
22-
groovyGradlePlugin = { id = "dev.gradleplugins.groovy-gradle-plugin", version = "1.2" }
22+
groovyGradlePlugin = { id = "dev.gradleplugins.groovy-gradle-plugin", version = "1.7.1" }
2323
mavenPublish = { id = "com.vanniktech.maven.publish", version = "0.27.0" }
2424
androidApplication = { id = "com.android.application", version.ref = "agp" }
2525
androidLibrary = { id = "com.android.library", version.ref = "agp" }
@@ -33,7 +33,9 @@ proguard = { group = "com.guardsquare", name = "proguard-gradle", version = "7.5
3333
# this allows us to develop against a fixed version of Gradle, as opposed to depending on the
3434
# locally available version. kotlin-gradle-plugin follows the same approach.
3535
# More info: https://docs.nokee.dev/manual/gradle-plugin-development-plugin.html
36-
gradleApi = { group = "dev.gradleplugins", name = "gradle-api", version = "7.6.4" }
36+
# The latest version is 8.11.1 https://github.com/gradle-plugins/gradle-api/issues/6
37+
# 8.8 or higher fails groovy compilation
38+
gradleApi = { group = "dev.gradleplugins", name = "gradle-api", version = "8.7" }
3739
agp = { group = "com.android.tools.build", name = "gradle", version.ref = "agp" }
3840
kotlinCompilerEmbeddable = { group = "org.jetbrains.kotlin", name = "kotlin-compiler-embeddable" }
3941
autoService = { group = "com.google.auto.service", name = "auto-service", version = "1.0.1" }

gradle/wrapper/gradle-wrapper.jar

-17.4 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
44
networkTimeout=10000
5+
validateDistributionUrl=true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

gradlew

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
# See the License for the specific language governing permissions and
1616
# limitations under the License.
1717
#
18+
# SPDX-License-Identifier: Apache-2.0
19+
#
1820

1921
##############################################################################
2022
#
@@ -55,7 +57,7 @@
5557
# Darwin, MinGW, and NonStop.
5658
#
5759
# (3) This script is generated from the Groovy template
58-
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
60+
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
5961
# within the Gradle project.
6062
#
6163
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -83,10 +85,8 @@ done
8385
# This is normally unused
8486
# shellcheck disable=SC2034
8587
APP_BASE_NAME=${0##*/}
86-
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
87-
88-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
88+
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89+
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
9090

9191
# Use the maximum available, or set MAX_FD != -1 to use that value.
9292
MAX_FD=maximum
@@ -114,7 +114,7 @@ case "$( uname )" in #(
114114
NONSTOP* ) nonstop=true ;;
115115
esac
116116

117-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
117+
CLASSPATH="\\\"\\\""
118118

119119

120120
# Determine the Java command to use to start the JVM.
@@ -133,26 +133,29 @@ location of your Java installation."
133133
fi
134134
else
135135
JAVACMD=java
136-
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
136+
if ! command -v java >/dev/null 2>&1
137+
then
138+
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137139
138140
Please set the JAVA_HOME variable in your environment to match the
139141
location of your Java installation."
142+
fi
140143
fi
141144

142145
# Increase the maximum file descriptors if we can.
143146
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144147
case $MAX_FD in #(
145148
max*)
146149
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147-
# shellcheck disable=SC3045
150+
# shellcheck disable=SC2039,SC3045
148151
MAX_FD=$( ulimit -H -n ) ||
149152
warn "Could not query maximum file descriptor limit"
150153
esac
151154
case $MAX_FD in #(
152155
'' | soft) :;; #(
153156
*)
154157
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155-
# shellcheck disable=SC3045
158+
# shellcheck disable=SC2039,SC3045
156159
ulimit -n "$MAX_FD" ||
157160
warn "Could not set maximum file descriptor limit to $MAX_FD"
158161
esac
@@ -197,16 +200,20 @@ if "$cygwin" || "$msys" ; then
197200
done
198201
fi
199202

200-
# Collect all arguments for the java command;
201-
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
202-
# shell script including quotes and variable substitutions, so put them in
203-
# double quotes to make sure that they get re-expanded; and
204-
# * put everything else in single quotes, so that it's not re-expanded.
203+
204+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
205+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
206+
207+
# Collect all arguments for the java command:
208+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
209+
# and any embedded shellness will be escaped.
210+
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
211+
# treated as '${Hostname}' itself on the command line.
205212

206213
set -- \
207214
"-Dorg.gradle.appname=$APP_BASE_NAME" \
208215
-classpath "$CLASSPATH" \
209-
org.gradle.wrapper.GradleWrapperMain \
216+
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
210217
"$@"
211218

212219
# Stop when "xargs" is not available.

gradlew.bat

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
@rem See the License for the specific language governing permissions and
1414
@rem limitations under the License.
1515
@rem
16+
@rem SPDX-License-Identifier: Apache-2.0
17+
@rem
1618

1719
@if "%DEBUG%"=="" @echo off
1820
@rem ##########################################################################
@@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
4345
%JAVA_EXE% -version >NUL 2>&1
4446
if %ERRORLEVEL% equ 0 goto execute
4547

46-
echo.
47-
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
48-
echo.
49-
echo Please set the JAVA_HOME variable in your environment to match the
50-
echo location of your Java installation.
48+
echo. 1>&2
49+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50+
echo. 1>&2
51+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52+
echo location of your Java installation. 1>&2
5153

5254
goto fail
5355

@@ -57,22 +59,22 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
5759

5860
if exist "%JAVA_EXE%" goto execute
5961

60-
echo.
61-
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
62-
echo.
63-
echo Please set the JAVA_HOME variable in your environment to match the
64-
echo location of your Java installation.
62+
echo. 1>&2
63+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64+
echo. 1>&2
65+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66+
echo location of your Java installation. 1>&2
6567

6668
goto fail
6769

6870
:execute
6971
@rem Setup the command line
7072

71-
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73+
set CLASSPATH=
7274

7375

7476
@rem Execute Gradle
75-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
77+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
7678

7779
:end
7880
@rem End local scope for the variables with windows NT shell

plugin-build/build.gradle.kts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,45 @@ tasks.named("distZip") {
192192
onlyIf { inputs.sourceFiles.isEmpty.not().also { require(it) { "No distribution to zip." } } }
193193
}
194194

195+
tasks.named("distTar").configure {
196+
dependsOn(
197+
"dokkaJavadocJar",
198+
"jar",
199+
"sourcesJar",
200+
"generateMetadataFileForPluginMavenPublication",
201+
"generatePomFileForPluginMavenPublication",
202+
)
203+
}
204+
205+
tasks.named("sentryJvmPluginMarkerDistTar").configure {
206+
dependsOn(
207+
"generatePomFileForSentryJvmPluginPluginMarkerMavenPublication",
208+
"generatePomFileForKotlinCompilerPluginPluginMarkerMavenPublication",
209+
)
210+
}
211+
212+
tasks.named("sentryJvmPluginMarkerDistZip").configure {
213+
dependsOn("generatePomFileForSentryJvmPluginPluginMarkerMavenPublication")
214+
}
215+
216+
tasks.named("dokkaHtml").configure { dependsOn("compileGroovy") }
217+
218+
tasks.named("sentryKotlinCompilerPluginMarkerDistTar").configure {
219+
dependsOn("generatePomFileForKotlinCompilerPluginPluginMarkerMavenPublication")
220+
}
221+
222+
tasks.named("sentryKotlinCompilerPluginMarkerDistZip").configure {
223+
dependsOn("generatePomFileForKotlinCompilerPluginPluginMarkerMavenPublication")
224+
}
225+
226+
tasks.named("sentryPluginMarkerDistTar").configure {
227+
dependsOn("generatePomFileForSentryPluginPluginMarkerMavenPublication")
228+
}
229+
230+
tasks.named("sentryPluginMarkerDistZip").configure {
231+
dependsOn("generatePomFileForSentryPluginPluginMarkerMavenPublication")
232+
}
233+
195234
tasks.withType<Test>().configureEach {
196235
testLogging {
197236
events = setOf(TestLogEvent.SKIPPED, TestLogEvent.PASSED, TestLogEvent.FAILED)

plugin-build/buildSrc/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
plugins {
22
`kotlin-dsl`
33
id("java-gradle-plugin")
4-
kotlin("jvm") version "1.8.20"
54
}
65

76
repositories { mavenCentral() }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
dependencyResolutionManagement {
2-
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
2+
versionCatalogs { create("libs") { from(files("../../gradle/libs.versions.toml")) } }
33
}

plugin-build/gradle/libs.versions.toml

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugin-build/gradle/wrapper

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugin-build/gradlew

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugin-build/gradlew.bat

Lines changed: 0 additions & 1 deletion
This file was deleted.

plugin-build/settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dependencyResolutionManagement {
66
google()
77
mavenLocal()
88
}
9+
versionCatalogs.create("libs") { from(files("../gradle/libs.versions.toml")) }
910

1011
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
1112
}

plugin-build/src/test/kotlin/io/sentry/android/gradle/testutil/ProjectTestUtil.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ fun createTestAndroidProject(
1515
val appExtension =
1616
project.extensions.getByType(AppExtension::class.java).apply {
1717
compileSdkVersion(30)
18+
namespace = "com.example.app"
1819
this.block()
1920
}
2021
if (forceEvaluate) {
@@ -33,6 +34,7 @@ fun createTestProguardProject(
3334
val appExtension =
3435
project.extensions.getByType(AppExtension::class.java).apply {
3536
compileSdkVersion(30)
37+
namespace = "com.example.app"
3638
this.block()
3739
}
3840
project.plugins.apply("com.guardsquare.proguard")

plugin-build/src/test/kotlin/io/sentry/android/gradle/util/SentryPluginUtilsTest.kt

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package io.sentry.android.gradle.util
22

33
import io.sentry.android.gradle.retrieveAndroidVariant
44
import io.sentry.android.gradle.testutil.createTestAndroidProject
5-
import io.sentry.android.gradle.testutil.createTestProguardProject
65
import io.sentry.android.gradle.util.SentryPluginUtils.capitalizeUS
76
import io.sentry.android.gradle.util.SentryPluginUtils.getAndDeleteFile
87
import io.sentry.android.gradle.util.SentryPluginUtils.isMinificationEnabled
@@ -14,7 +13,6 @@ import org.junit.Test
1413
import org.junit.rules.TemporaryFolder
1514
import org.junit.runner.RunWith
1615
import org.junit.runners.Parameterized
17-
import proguard.gradle.plugin.android.dsl.ProGuardAndroidExtension
1816

1917
@RunWith(Parameterized::class)
2018
class SentryPluginUtilsTest(private val agpVersion: SemVer) {
@@ -36,36 +34,6 @@ class SentryPluginUtilsTest(private val agpVersion: SemVer) {
3634
assertEquals("", "".capitalizeUS())
3735
}
3836

39-
@Test
40-
fun `isMinificationEnabled returns false for standalone Proguard`() {
41-
val (project, _) = createTestProguardProject(forceEvaluate = !AgpVersions.isAGP74(agpVersion))
42-
val variant = project.retrieveAndroidVariant("debug")
43-
44-
assertEquals(false, isMinificationEnabled(project, variant, dexguardEnabled = true))
45-
}
46-
47-
@Test
48-
fun `isMinificationEnabled returns true for standalone Proguard and valid config`() {
49-
val (project, _) = createTestProguardProject(forceEvaluate = !AgpVersions.isAGP74(agpVersion))
50-
project.extensions.getByType(ProGuardAndroidExtension::class.java).apply {
51-
configurations.create("debug") { it.defaultConfiguration("proguard-android-optimize.txt") }
52-
}
53-
val variant = project.retrieveAndroidVariant("debug")
54-
55-
assertEquals(true, isMinificationEnabled(project, variant, dexguardEnabled = true))
56-
}
57-
58-
@Test
59-
fun `isMinificationEnabled returns false for standalone Proguard without opt-in`() {
60-
val (project, _) = createTestProguardProject(forceEvaluate = !AgpVersions.isAGP74(agpVersion))
61-
project.extensions.getByType(ProGuardAndroidExtension::class.java).apply {
62-
configurations.create("debug") { it.defaultConfiguration("proguard-android-optimize.txt") }
63-
}
64-
val variant = project.retrieveAndroidVariant("debug")
65-
66-
assertEquals(false, isMinificationEnabled(project, variant, dexguardEnabled = false))
67-
}
68-
6937
@Test
7038
fun `isMinificationEnabled returns false for debug builds`() {
7139
val (project, _) = createTestAndroidProject(forceEvaluate = !AgpVersions.isAGP74(agpVersion))

sentry-kotlin-compiler-plugin/gradle/libs.versions.toml

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

sentry-kotlin-compiler-plugin/gradle/wrapper/gradle-wrapper.properties

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)