diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 138a52d0..082341e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,8 +27,8 @@ jobs: - name: Set up Java uses: actions/setup-java@v2 with: - distribution: 'adopt' - java-version: '11' + distribution: 'temurin' + java-version: '17' - name: Build distribution artifacts run: | diff --git a/.github/workflows/integration-tests-sentry-cli.yml b/.github/workflows/integration-tests-sentry-cli.yml index 23481023..a191b691 100644 --- a/.github/workflows/integration-tests-sentry-cli.yml +++ b/.github/workflows/integration-tests-sentry-cli.yml @@ -18,6 +18,12 @@ jobs: with: python-version: '3.10.5' + - name: Set up Java + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '17' + - name: Start server and run integration test for sentry-cli commands run: | test/integration-test-server-start.sh & diff --git a/.github/workflows/pre-merge.yaml b/.github/workflows/pre-merge.yaml index 540402f7..47aaed31 100644 --- a/.github/workflows/pre-merge.yaml +++ b/.github/workflows/pre-merge.yaml @@ -22,8 +22,8 @@ jobs: - name: Setup Java Version uses: actions/setup-java@v2 with: - distribution: 'adopt' - java-version: '11' + distribution: 'temurin' + java-version: '17' - name: Run Gradle tasks if: runner.os != 'Windows' diff --git a/.github/workflows/test-publish-dry-run.yaml b/.github/workflows/test-publish-dry-run.yaml index 4365260b..e9c6354b 100644 --- a/.github/workflows/test-publish-dry-run.yaml +++ b/.github/workflows/test-publish-dry-run.yaml @@ -29,21 +29,21 @@ jobs: - agp: "7.2.1" gradle: "7.4" java: "11" - - agp: "7.2.1" - gradle: "7.5" - java: "11" - agp: "7.3.0" gradle: "7.5" java: "11" - - agp: "7.3.0" - gradle: "7.6" - java: "11" - - agp: "7.4.0-rc01" + - agp: "7.4.0" gradle: "7.5" java: "11" - - agp: "8.0.0-alpha09" - gradle: "7.5" + - agp: "7.4.0" + gradle: "7.6" java: "11" + - agp: "8.0.0-beta05" + gradle: "8.0.2" + java: "17" + - agp: "8.1.0-alpha08" + gradle: "8.0.2" + java: "17" name: Publish Dry Run - AGP ${{ matrix.agp }} - Gradle ${{ matrix.gradle }} env: diff --git a/CHANGELOG.md b/CHANGELOG.md index fb513c78..f1f4c949 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +### Fixes + +- Make plugin Gradle 8 compatible ([#428](https://github.com/getsentry/sentry-android-gradle-plugin/pull/428)) +- Fix `uploadSentryNativeSymbols` task for Gradle 8 ([#447](https://github.com/getsentry/sentry-android-gradle-plugin/pull/447)) + ### Dependencies - Bump Android SDK from v6.13.0 to v6.15.0 ([#442](https://github.com/getsentry/sentry-android-gradle-plugin/pull/442)) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 701db037..ff987734 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ We suggest opening an issue to discuss bigger changes before investing on a big # Requirements -The project currently requires you run JDK version `11` and the Android SDK. +The project currently requires you run JDK version `17` and the Android SDK. # CI diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 9bc4a6c9..3bc2024d 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -39,7 +39,7 @@ object Libs { // this allows us to develop against a fixed version of Gradle, as opposed to depending on the // locally available version. kotlin-gradle-plugin follows the same approach. // More info: https://docs.nokee.dev/manual/gradle-plugin-development-plugin.html - const val GRADLE_API = "dev.gradleplugins:gradle-api:7.5" + const val GRADLE_API = "dev.gradleplugins:gradle-api:7.6" // bytecode instrumentation const val ASM = "org.ow2.asm:asm-util:${LibsVersion.ASM}" diff --git a/examples/android-instrumentation-sample/build.gradle.kts b/examples/android-instrumentation-sample/build.gradle.kts index e783874d..823223d9 100644 --- a/examples/android-instrumentation-sample/build.gradle.kts +++ b/examples/android-instrumentation-sample/build.gradle.kts @@ -30,6 +30,7 @@ android { } flavorDimensions += "environment" + // just a random product flavor for compatibility testing against AGP productFlavors { create("staging") { dimension = "environment" diff --git a/examples/spring-boot-sample/build.gradle.kts b/examples/spring-boot-sample/build.gradle.kts index 2510776b..b809c34c 100644 --- a/examples/spring-boot-sample/build.gradle.kts +++ b/examples/spring-boot-sample/build.gradle.kts @@ -1,3 +1,4 @@ +// ktlint-disable max-line-length import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile diff --git a/gradle.properties b/gradle.properties index f01ba7c7..4c1350a4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1536m -XX:MaxPermSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1536m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC org.gradle.parallel=true android.useAndroidX=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2ec77e51..f42e62f3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/plugin-build/build.gradle.kts b/plugin-build/build.gradle.kts index a06a63b0..76c4d9e4 100644 --- a/plugin-build/build.gradle.kts +++ b/plugin-build/build.gradle.kts @@ -16,7 +16,7 @@ plugins { id("com.vanniktech.maven.publish") version BuildPluginsVersion.MAVEN_PUBLISH apply false id("org.jlleitschuh.gradle.ktlint") version BuildPluginsVersion.KTLINT // we need this plugin in order to include .aar dependencies into a pure java project, which the gradle plugin is - id("com.stepango.aar2jar") version BuildPluginsVersion.AAR_2_JAR + id("io.sentry.android.gradle.aar2jar") id("com.github.johnrengelman.shadow") version BuildPluginsVersion.SHADOW } @@ -86,7 +86,7 @@ dependencies { testImplementationAar(Libs.SQLITE) testImplementationAar(Libs.SQLITE_FRAMEWORK) testRuntimeOnly(files(androidSdkPath)) - testImplementationAar(Libs.SENTRY_ANDROID) + testRuntimeOnlyAar(Libs.SENTRY_ANDROID) testRuntimeOnly( files( diff --git a/plugin-build/buildSrc/build.gradle.kts b/plugin-build/buildSrc/build.gradle.kts index d6b0b9bf..d37f3f74 100644 --- a/plugin-build/buildSrc/build.gradle.kts +++ b/plugin-build/buildSrc/build.gradle.kts @@ -1,5 +1,7 @@ plugins { `kotlin-dsl` + id("java-gradle-plugin") + kotlin("jvm") version "1.6.10" } repositories { @@ -11,3 +13,19 @@ sourceSets { java.srcDir("../../buildSrc/src/main/java") } } + + +// we cannot use the version from Dependencies.kt because it's not available at this moment, the +// proper way to share the dependency notation is to use libs.versions.toml, but that's for later +dependencies { + compileOnly("dev.gradleplugins:gradle-api:7.6") +} + +gradlePlugin { + plugins { + register("aar2jarPlugin") { + id = "io.sentry.android.gradle.aar2jar" + implementationClass = "io.sentry.android.gradle.internal.Aar2JarPlugin" + } + } +} diff --git a/plugin-build/buildSrc/src/main/kotlin/io/sentry/android/gradle/internal/Aar2JarPlugin.kt b/plugin-build/buildSrc/src/main/kotlin/io/sentry/android/gradle/internal/Aar2JarPlugin.kt new file mode 100644 index 00000000..a640c1ee --- /dev/null +++ b/plugin-build/buildSrc/src/main/kotlin/io/sentry/android/gradle/internal/Aar2JarPlugin.kt @@ -0,0 +1,152 @@ +package io.sentry.android.gradle.internal + +import java.io.FileOutputStream +import java.util.zip.ZipFile +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.transform.InputArtifact +import org.gradle.api.artifacts.transform.TransformAction +import org.gradle.api.artifacts.transform.TransformOutputs +import org.gradle.api.artifacts.transform.TransformParameters +import org.gradle.api.artifacts.type.ArtifactTypeDefinition +import org.gradle.api.attributes.Attribute +import org.gradle.api.file.FileSystemLocation +import org.gradle.api.plugins.JavaPluginExtension +import org.gradle.api.provider.Provider +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity +import org.gradle.api.tasks.SourceSet +import org.gradle.api.tasks.SourceSetContainer +import org.gradle.kotlin.dsl.get +import org.gradle.kotlin.dsl.getByType +import org.gradle.kotlin.dsl.the +import org.gradle.plugins.ide.idea.model.IdeaModel + +/** + * A port of https://github.com/stepango/aar2jar, which adds support for 2 things: + * - runtimeOnlyAar configuration + * - Gradle 8.0+ registerTransform API + */ +class Aar2JarPlugin : Plugin { + + override fun apply(project: Project) { + + val compileOnlyAar = project.configurations.register("compileOnlyAar") + val runtimeOnlyAar = project.configurations.register("runtimeOnlyAar") + val implementationAar = project.configurations.register("implementationAar") + + // Assume all modules have test configuration + val testCompileOnlyAar = project.configurations.register("testCompileOnlyAar") + val testRuntimeOnlyAar = project.configurations.register("testRuntimeOnlyAar") + val testImplementationAar = project.configurations.register("testImplementationAar") + + project.pluginManager.withPlugin("idea") { + val scopes = project.extensions + .getByType() + .module + .scopes + + scopes["TEST"] + ?.get("plus") + ?.apply { + add(testImplementationAar.get()) + add(testCompileOnlyAar.get()) + add(testRuntimeOnlyAar.get()) + } + + scopes.forEach { + it.value["plus"]?.apply { + add(implementationAar.get()) + add(compileOnlyAar.get()) + add(runtimeOnlyAar.get()) + } + } + } + + project.dependencies.registerTransform(AarToJarTransform::class.java) { + from.attribute(ARTIFACT_ATTR, "aar") + to.attribute(ARTIFACT_ATTR, ArtifactTypeDefinition.JAR_TYPE) + } + + compileOnlyAar.configure { + baseConfiguration(project, "main") { + compileClasspath += this@configure + } + } + + runtimeOnlyAar.configure { + baseConfiguration(project, "main") { + runtimeClasspath += this@configure + } + } + + implementationAar.configure { + baseConfiguration(project, "main") { + compileClasspath += this@configure + runtimeClasspath += this@configure + } + } + + testCompileOnlyAar.configure { + baseConfiguration(project, "test") { + compileClasspath += this@configure + } + } + + testRuntimeOnlyAar.configure { + baseConfiguration(project, "test") { + runtimeClasspath += this@configure + } + } + + testImplementationAar.configure { + baseConfiguration(project, "test") { + compileClasspath += this@configure + runtimeClasspath += this@configure + } + } + } + + companion object { + internal val ARTIFACT_ATTR = Attribute.of("artifactType", String::class.java) + } +} + +fun Configuration.baseConfiguration(project: Project, name: String, f: SourceSet.() -> Unit) { + isTransitive = false + attributes { + attribute(Aar2JarPlugin.ARTIFACT_ATTR, ArtifactTypeDefinition.JAR_TYPE) + } + project.pluginManager.withPlugin("java") { + val sourceSets = project.the().sourceSets + sourceSets.withName(name, f) + } +} + +fun SourceSetContainer.withName(name: String, f: SourceSet.() -> Unit) { + this[name]?.apply { f(this) } ?: whenObjectAdded { if (this.name == name) f(this) } +} + +abstract class AarToJarTransform : TransformAction { + + @get:InputArtifact + @get:PathSensitive(PathSensitivity.NAME_ONLY) + abstract val input: Provider + + override fun transform(outputs: TransformOutputs) { + val inputFile = input.get().asFile + val outputFile = outputs.file(inputFile.name.replace(".aar", ".jar")) + ZipFile(inputFile).use { zipFile -> + zipFile.entries() + .toList() + .first { it.name == "classes.jar" } + .let(zipFile::getInputStream) + .use { input -> + FileOutputStream(outputFile).use { output -> + input.copyTo(output) + } + } + } + } +} diff --git a/plugin-build/gradle.properties b/plugin-build/gradle.properties index 269f79d6..5efbdf7c 100644 --- a/plugin-build/gradle.properties +++ b/plugin-build/gradle.properties @@ -1,4 +1,4 @@ -org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1536m -XX:MaxPermSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1536m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC org.gradle.daemon=false # for debugging diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/AppConfig.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/AppConfig.kt index 2ac00ce0..7c129220 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/AppConfig.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/AppConfig.kt @@ -180,7 +180,6 @@ private fun ApplicationVariant.configureNativeSymbolsTask( SentryUploadNativeSymbolsTask::class.java ) { it.workingDir(project.rootDir) - it.buildDir.set(project.buildDir) it.autoUploadNativeSymbol.set(extension.autoUploadNativeSymbols) it.cliExecutable.set(cliExecutable) it.sentryProperties.set(sentryProps?.let { file -> project.file(file) }) diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTask.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTask.kt index 77792cd2..709a8f72 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTask.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTask.kt @@ -4,12 +4,10 @@ import io.sentry.android.gradle.util.info import java.io.File import org.apache.tools.ant.taskdefs.condition.Os import org.apache.tools.ant.taskdefs.condition.Os.FAMILY_WINDOWS -import org.gradle.api.file.DirectoryProperty import org.gradle.api.file.RegularFileProperty import org.gradle.api.provider.Property import org.gradle.api.tasks.Exec import org.gradle.api.tasks.Input -import org.gradle.api.tasks.InputDirectory import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.Internal import org.gradle.api.tasks.Optional @@ -20,9 +18,6 @@ abstract class SentryUploadNativeSymbolsTask : Exec() { description = "Uploads native symbols to Sentry" } - @get:InputDirectory - abstract val buildDir: DirectoryProperty - @get:Input abstract val cliExecutable: Property @@ -91,7 +86,7 @@ abstract class SentryUploadNativeSymbolsTask : Exec() { // where {variantName} could be debug/release... args.add( File( - buildDir.asFile.get(), + project.buildDir, "intermediates${sep}merged_native_libs${sep}${variantName.get()}" ).absolutePath ) diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/buildServices.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/buildServices.kt index 1249dcdc..ef3e1e18 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/buildServices.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/buildServices.kt @@ -4,23 +4,20 @@ import java.util.UUID import org.gradle.api.provider.Provider import org.gradle.api.services.BuildService import org.gradle.api.services.BuildServiceParameters -import org.gradle.api.services.BuildServiceRegistration import org.gradle.api.services.BuildServiceRegistry /* * Adapted from https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:build-system/gradle-core/src/main/java/com/android/build/gradle/internal/services/buildServices.k */ -fun > getBuildService( +fun , ParamsT : BuildServiceParameters> getBuildService( buildServiceRegistry: BuildServiceRegistry, buildServiceClass: Class ): Provider { - @Suppress("UNCHECKED_CAST") - return ( - buildServiceRegistry.registrations.getByName( - getBuildServiceName(buildServiceClass) - ) as BuildServiceRegistration - ).getService() + val serviceName = getBuildServiceName(buildServiceClass) + return buildServiceRegistry.registerIfAbsent(serviceName, buildServiceClass) { + throw IllegalStateException("Service $serviceName is not registered.") + } } /* diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/BaseSentryPluginTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/BaseSentryPluginTest.kt index 7b8760ce..8bc1e7af 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/BaseSentryPluginTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/BaseSentryPluginTest.kt @@ -101,11 +101,11 @@ abstract class BaseSentryPluginTest( arrayOf("7.1.3", "7.2"), arrayOf("7.2.1", "7.3.3"), arrayOf("7.2.1", "7.4"), - arrayOf("7.2.1", "7.5"), arrayOf("7.3.0", "7.5"), - arrayOf("7.3.0", "7.6"), - arrayOf("7.4.0-rc01", "7.5"), - arrayOf("8.0.0-alpha09", "7.5") + arrayOf("7.4.0", "7.5"), + arrayOf("7.4.0", "7.6"), + arrayOf("8.0.0-beta05", "8.0.2"), + arrayOf("8.1.0-alpha08", "8.0.2") ) internal fun GradleRunner.appendArguments(vararg arguments: String) = diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginCheckAndroidSdkTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginCheckAndroidSdkTest.kt index ca342cf6..7515c70e 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginCheckAndroidSdkTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginCheckAndroidSdkTest.kt @@ -100,14 +100,17 @@ class SentryPluginCheckAndroidSdkTest( private fun captureSdkState(): String = // language=Groovy """ + import io.sentry.android.gradle.autoinstall.BuildFinishedListenerService import io.sentry.android.gradle.util.* import io.sentry.android.gradle.services.* - project.gradle.buildFinished { - println( - "SENTRY MODULES: " + BuildServicesKt - .getBuildService(project.gradle.sharedServices, SentryModulesService.class) - .get().sentryModules - ) + + BuildFinishedListenerService.@Companion.getInstance(project.gradle).onClose { + println( + "SENTRY MODULES: " + + BuildServicesKt + .getBuildService(project.gradle.sharedServices, SentryModulesService.class) + .get().sentryModules + ) } """.trimIndent() } diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginMRJarTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginMRJarTest.kt index e2da8ab0..0d42b677 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginMRJarTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginMRJarTest.kt @@ -4,7 +4,7 @@ import kotlin.test.assertTrue import org.junit.Test class SentryPluginMRJarTest : - BaseSentryPluginTest(androidGradlePluginVersion = "7.0.4", gradleVersion = "7.1.1") { + BaseSentryPluginTest(androidGradlePluginVersion = "7.0.4", gradleVersion = "7.3") { @Test fun `does not break when there is a MR-JAR dependency with unsupported java version`() { diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginWithDependencyCollectorsTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginWithDependencyCollectorsTest.kt index a25e86a4..748deb27 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginWithDependencyCollectorsTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/SentryPluginWithDependencyCollectorsTest.kt @@ -41,8 +41,6 @@ class SentryPluginWithDependencyCollectorsTest : val result = runner .appendArguments("app:assembleRelease") - .appendArguments("--console=plain") - .forwardOutput() .build() assertTrue { "BUILD SUCCESSFUL" in result.output } diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTaskTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTaskTest.kt index 613ce600..63ad44a8 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTaskTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/SentryUploadNativeSymbolsTaskTest.kt @@ -15,7 +15,6 @@ class SentryUploadNativeSymbolsTaskTest { fun `cli-executable is set correctly`() { val project = createProject() val task = createTestTask(project) { - it.buildDir.set(project.buildDir) it.cliExecutable.set("sentry-cli") it.includeNativeSources.set(false) it.variantName.set("debug") @@ -37,7 +36,6 @@ class SentryUploadNativeSymbolsTaskTest { fun `--auto-upload is set correctly`() { val project = createProject() val task = createTestTask(project) { - it.buildDir.set(project.buildDir) it.cliExecutable.set("sentry-cli") it.includeNativeSources.set(false) it.variantName.set("debug") @@ -53,7 +51,6 @@ class SentryUploadNativeSymbolsTaskTest { fun `--include-sources is set correctly`() { val project = createProject() val task = createTestTask(project) { - it.buildDir.set(project.buildDir) it.cliExecutable.set("sentry-cli") it.includeNativeSources.set(true) it.variantName.set("debug") @@ -92,7 +89,6 @@ class SentryUploadNativeSymbolsTaskTest { fun `with sentryOrganization adds --org`() { val project = createProject() val task = createTestTask(project) { - it.buildDir.set(project.buildDir) it.cliExecutable.set("sentry-cli") it.sentryOrganization.set("dummy-org") it.includeNativeSources.set(true) @@ -110,7 +106,6 @@ class SentryUploadNativeSymbolsTaskTest { fun `with sentryProject adds --project`() { val project = createProject() val task = createTestTask(project) { - it.buildDir.set(project.buildDir) it.cliExecutable.set("sentry-cli") it.sentryProject.set("dummy-proj") it.includeNativeSources.set(true) diff --git a/plugin-build/src/test/resources/testFixtures/appTestProject/gradle.properties b/plugin-build/src/test/resources/testFixtures/appTestProject/gradle.properties index 2aee9691..b3a78e6f 100644 --- a/plugin-build/src/test/resources/testFixtures/appTestProject/gradle.properties +++ b/plugin-build/src/test/resources/testFixtures/appTestProject/gradle.properties @@ -1,4 +1,4 @@ -org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=1g -XX:MaxPermSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC +org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC org.gradle.daemon=false android.useAndroidX=true