diff --git a/.editorconfig b/.editorconfig index f4bfe5513..2ddc3ceca 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,7 +2,7 @@ root = true [*] indent_style = space -indent_size = 4 +indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true diff --git a/build.gradle.kts b/build.gradle.kts index a8bb5c6f2..6a539f55e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,7 @@ plugins { alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP apply false alias(libs.plugins.androidLibrary) version BuildPluginsVersion.AGP apply false alias(libs.plugins.spotless) + id("io.sentry.gradle") } allprojects { diff --git a/examples/android-gradle-kts/build.gradle.kts b/examples/android-gradle-kts/build.gradle.kts index 55b4bb730..572beb1b7 100644 --- a/examples/android-gradle-kts/build.gradle.kts +++ b/examples/android-gradle-kts/build.gradle.kts @@ -1,7 +1,4 @@ -plugins { - alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP - id("io.sentry.android.gradle") -} +plugins { alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP } android { compileSdk = LibsVersion.SDK_VERSION diff --git a/examples/android-gradle/build.gradle b/examples/android-gradle/build.gradle index 01bd4d8a1..6c254eab1 100644 --- a/examples/android-gradle/build.gradle +++ b/examples/android-gradle/build.gradle @@ -11,7 +11,6 @@ buildscript { } apply plugin: 'com.android.application' -apply plugin: 'io.sentry.android.gradle' android { compileSdk = LibsVersion.SDK_VERSION diff --git a/examples/android-guardsquare-proguard/build.gradle b/examples/android-guardsquare-proguard/build.gradle index 1b0c18178..60deea94c 100644 --- a/examples/android-guardsquare-proguard/build.gradle +++ b/examples/android-guardsquare-proguard/build.gradle @@ -12,7 +12,6 @@ buildscript { } apply plugin: 'com.android.application' -apply plugin: 'io.sentry.android.gradle' if (BuildPluginsVersion.INSTANCE.isProguardApplicable()) { apply plugin: 'com.guardsquare.proguard' } diff --git a/examples/android-instrumentation-sample/build.gradle.kts b/examples/android-instrumentation-sample/build.gradle.kts index 18be73027..c1e32dd52 100644 --- a/examples/android-instrumentation-sample/build.gradle.kts +++ b/examples/android-instrumentation-sample/build.gradle.kts @@ -2,7 +2,6 @@ plugins { alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP alias(libs.plugins.kotlinAndroid) alias(libs.plugins.kapt) - id("io.sentry.android.gradle") } // useful for local debugging of the androidx.sqlite lib diff --git a/examples/android-ndk/build.gradle b/examples/android-ndk/build.gradle index 8cf64de93..67a032fd4 100644 --- a/examples/android-ndk/build.gradle +++ b/examples/android-ndk/build.gradle @@ -11,7 +11,6 @@ buildscript { } apply plugin: 'com.android.application' -apply plugin: 'io.sentry.android.gradle' android { compileSdk = LibsVersion.SDK_VERSION @@ -37,7 +36,6 @@ android { } if (System.getenv("AUTO_UPLOAD")) { - apply plugin: 'io.sentry.android.gradle' sentry { autoUploadProguardMapping = false uploadNativeSymbols = true diff --git a/plugin-build/build.gradle.kts b/plugin-build/build.gradle.kts index 7091a0835..21a5d78b8 100644 --- a/plugin-build/build.gradle.kts +++ b/plugin-build/build.gradle.kts @@ -183,6 +183,10 @@ tasks.register("integrationTest").configure { gradlePlugin { plugins { + register("sentryRootPlugin") { + id = "io.sentry.gradle" + implementationClass = "io.sentry.gradle.SentryRootPlugin" + } register("sentryPlugin") { id = "io.sentry.android.gradle" implementationClass = "io.sentry.android.gradle.SentryPlugin" diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/AndroidComponentsConfig.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/AndroidComponentsConfig.kt index cfe9ee3cd..588c742b0 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/AndroidComponentsConfig.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/AndroidComponentsConfig.kt @@ -11,7 +11,6 @@ import com.android.build.api.variant.AndroidComponentsExtension import com.android.build.api.variant.Variant import com.android.build.gradle.AppExtension import com.android.build.gradle.internal.utils.setDisallowChanges -import io.sentry.android.gradle.SentryPlugin.Companion.sep import io.sentry.android.gradle.SentryPropertiesFileProvider.getPropertiesFilePath import io.sentry.android.gradle.SentryTasksProvider.capitalized import io.sentry.android.gradle.SentryTasksProvider.getMappingFileProvider @@ -41,6 +40,7 @@ import io.sentry.android.gradle.util.collectModules import io.sentry.android.gradle.util.hookWithAssembleTasks import io.sentry.android.gradle.util.hookWithMinifyTasks import io.sentry.android.gradle.util.info +import io.sentry.gradle.sep import java.io.File import org.gradle.api.Project import org.gradle.api.file.Directory 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 24e9ad9b0..d92bbd171 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 @@ -3,7 +3,6 @@ package io.sentry.android.gradle import com.android.build.gradle.AppExtension import com.android.build.gradle.api.ApplicationVariant import com.android.build.gradle.api.BaseVariant -import io.sentry.android.gradle.SentryPlugin.Companion.sep import io.sentry.android.gradle.SentryPropertiesFileProvider.getPropertiesFilePath import io.sentry.android.gradle.SentryTasksProvider.capitalized import io.sentry.android.gradle.SentryTasksProvider.getLintVitalAnalyzeProvider @@ -30,6 +29,7 @@ import io.sentry.android.gradle.util.hookWithAssembleTasks import io.sentry.android.gradle.util.hookWithMinifyTasks import io.sentry.android.gradle.util.hookWithPackageTasks import io.sentry.android.gradle.util.info +import io.sentry.gradle.sep import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.file.Directory diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/SentryPlugin.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/SentryPlugin.kt index f49aa02ad..7f01d127a 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/SentryPlugin.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/SentryPlugin.kt @@ -1,12 +1,10 @@ package io.sentry.android.gradle -import com.android.build.api.variant.AndroidComponentsExtension -import com.android.build.gradle.AppExtension -import io.sentry.BuildConfig -import io.sentry.android.gradle.autoinstall.installDependencies import io.sentry.android.gradle.extensions.SentryPluginExtension import io.sentry.android.gradle.util.AgpVersions -import java.io.File +import io.sentry.gradle.SENTRY_ORG_PARAMETER +import io.sentry.gradle.SENTRY_PROJECT_PARAMETER +import io.sentry.gradle.subplugin.AndroidAppSubplugin import javax.inject.Inject import org.gradle.api.Plugin import org.gradle.api.Project @@ -21,74 +19,57 @@ abstract class SentryPlugin constructor(private val buildEvents: BuildEventListenerRegistryInternal) : Plugin { override fun apply(project: Project) { - if (AgpVersions.CURRENT < AgpVersions.VERSION_7_0_0) { - throw StopExecutionException( - """ - Using io.sentry.android.gradle:3+ with Android Gradle Plugin < 7 is not supported. - Either upgrade the AGP version to 7+, or use an earlier version of the Sentry - Android Gradle Plugin. For more information check our migration guide - https://docs.sentry.io/platforms/android/migration/#migrating-from-iosentrysentry-android-gradle-plugin-2x-to-iosentrysentry-android-gradle-plugin-300 - """ - .trimIndent() - ) - } - if (!project.plugins.hasPlugin("com.android.application")) { - project.logger.warn( - """ - WARNING: Using 'io.sentry.android.gradle' is only supported for the app module. - Please make sure that you apply the Sentry gradle plugin alongside 'com.android.application' on the _module_ level, and not on the root project level. - https://docs.sentry.io/platforms/android/configuration/gradle/ - """ - .trimIndent() - ) - } + project.logger.warn( + """ + WARNING: Using 'io.sentry.android.gradle' is deprecated and this plugin will be removed in the future. + Consider migrating to 'io.sentry.gradle' (root project gradle plugin) instead. + """ + .trimIndent() + ) + project.checkAgpApplied() + project.checkAgpVersion() - val extension = project.extensions.create("sentry", SentryPluginExtension::class.java, project) + val extraProperties = project.extensions.getByName("ext") as ExtraPropertiesExtension + val sentryOrgParameter = + runCatching { extraProperties.get(SENTRY_ORG_PARAMETER).toString() }.getOrNull() + val sentryProjectParameter = + runCatching { extraProperties.get(SENTRY_PROJECT_PARAMETER).toString() }.getOrNull() + val extension = SentryPluginExtension.of(project) project.pluginManager.withPlugin("com.android.application") { - val oldAGPExtension = project.extensions.getByType(AppExtension::class.java) - val androidComponentsExt = - project.extensions.getByType(AndroidComponentsExtension::class.java) - val cliExecutable = project.cliExecutableProvider() - - val extraProperties = project.extensions.getByName("ext") as ExtraPropertiesExtension - - val sentryOrgParameter = - runCatching { extraProperties.get(SENTRY_ORG_PARAMETER).toString() }.getOrNull() - val sentryProjectParameter = - runCatching { extraProperties.get(SENTRY_PROJECT_PARAMETER).toString() }.getOrNull() + AndroidAppSubplugin(project, extension) + .apply(buildEvents, sentryOrgParameter, sentryProjectParameter) + } + } - // new API configuration - androidComponentsExt.configure( - project, - extension, - buildEvents, - cliExecutable, - sentryOrgParameter, - sentryProjectParameter, + private fun Project.checkAgpApplied() { + if (!plugins.hasPlugin("com.android.application")) { + logger.warn( + """ + WARNING: Using 'io.sentry.android.gradle' is only supported for the app module. + Please make sure that you apply the Sentry gradle plugin alongside 'com.android.application' on the _module_ level, and not on the root project level. + https://docs.sentry.io/platforms/android/configuration/gradle/ + """ + .trimIndent() ) + } + } - // old API configuration - oldAGPExtension.configure( - project, - extension, - cliExecutable, - sentryOrgParameter, - sentryProjectParameter, - buildEvents, + private fun Project.checkAgpVersion() { + if (AgpVersions.CURRENT < AgpVersions.VERSION_7_0_0) { + throw StopExecutionException( + """ + Using io.sentry.android.gradle:3+ with Android Gradle Plugin < 7 is not supported. + Either upgrade the AGP version to 7+, or use an earlier version of the Sentry + Android Gradle Plugin. For more information check our migration guide + https://docs.sentry.io/platforms/android/migration/#migrating-from-iosentrysentry-android-gradle-plugin-2x-to-iosentrysentry-android-gradle-plugin-300 + """ + .trimIndent() ) - - project.installDependencies(extension, true) } } companion object { - const val SENTRY_ORG_PARAMETER = "sentryOrg" - const val SENTRY_PROJECT_PARAMETER = "sentryProject" - internal const val SENTRY_SDK_VERSION = BuildConfig.SdkVersion - - internal val sep = File.separator - // a single unified logger used by instrumentation internal val logger by lazy { LoggerFactory.getLogger(SentryPlugin::class.java) } } diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/autoinstall/AutoInstallState.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/autoinstall/AutoInstallState.kt index dd67bdabc..454d74ee7 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/autoinstall/AutoInstallState.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/autoinstall/AutoInstallState.kt @@ -1,6 +1,6 @@ package io.sentry.android.gradle.autoinstall -import io.sentry.android.gradle.SentryPlugin.Companion.SENTRY_SDK_VERSION +import io.sentry.gradle.SENTRY_SDK_VERSION import java.io.Serializable import org.gradle.api.invocation.Gradle import org.jetbrains.annotations.TestOnly diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/AutoInstallExtension.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/AutoInstallExtension.kt index aa96e8b36..73799e80f 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/AutoInstallExtension.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/AutoInstallExtension.kt @@ -1,6 +1,6 @@ package io.sentry.android.gradle.extensions -import io.sentry.android.gradle.SentryPlugin.Companion.SENTRY_SDK_VERSION +import io.sentry.gradle.SENTRY_SDK_VERSION import javax.inject.Inject import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Property diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/SentryPluginExtension.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/SentryPluginExtension.kt index 4a0cd24a9..b898be885 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/SentryPluginExtension.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/extensions/SentryPluginExtension.kt @@ -194,4 +194,9 @@ abstract class SentryPluginExtension @Inject constructor(project: Project) { */ val telemetryDsn: Property = objects.property(String::class.java).convention(SENTRY_SAAS_DSN) + + internal companion object { + fun of(project: Project): SentryPluginExtension = + project.extensions.create("sentry", SentryPluginExtension::class.java, project) + } } diff --git a/plugin-build/src/main/kotlin/io/sentry/android/gradle/sourcecontext/GenerateBundleIdTask.kt b/plugin-build/src/main/kotlin/io/sentry/android/gradle/sourcecontext/GenerateBundleIdTask.kt index 308fc7475..247295f8e 100644 --- a/plugin-build/src/main/kotlin/io/sentry/android/gradle/sourcecontext/GenerateBundleIdTask.kt +++ b/plugin-build/src/main/kotlin/io/sentry/android/gradle/sourcecontext/GenerateBundleIdTask.kt @@ -27,7 +27,7 @@ abstract class GenerateBundleIdTask : PropertiesFileOutputTask() { init { description = - "Generates a unique build ID to be used " + "when bundling sources for upload to Sentry" + "Generates a unique build ID to be used when bundling sources for upload to Sentry" @Suppress("LeakingThis") onlyIf { includeSourceContext.getOrElse(false) } } diff --git a/plugin-build/src/main/kotlin/io/sentry/gradle/SentryRootPlugin.kt b/plugin-build/src/main/kotlin/io/sentry/gradle/SentryRootPlugin.kt new file mode 100644 index 000000000..a06024b91 --- /dev/null +++ b/plugin-build/src/main/kotlin/io/sentry/gradle/SentryRootPlugin.kt @@ -0,0 +1,27 @@ +package io.sentry.gradle + +import io.sentry.gradle.subplugin.RootPlugin +import javax.inject.Inject +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.tasks.StopExecutionException +import org.gradle.internal.build.event.BuildEventListenerRegistryInternal +import org.slf4j.LoggerFactory + +internal abstract class SentryRootPlugin +@Inject +constructor(private val buildEvents: BuildEventListenerRegistryInternal) : Plugin { + + override fun apply(project: Project) { + if (project == project.rootProject) { + RootPlugin(project).apply(buildEvents) + } else { + throw StopExecutionException("io.sentry.gradle must be applied only to the root project.") + } + } + + companion object { + // a single unified logger used by instrumentation + internal val logger by lazy { LoggerFactory.getLogger(SentryRootPlugin::class.java) } + } +} diff --git a/plugin-build/src/main/kotlin/io/sentry/gradle/Shared.kt b/plugin-build/src/main/kotlin/io/sentry/gradle/Shared.kt new file mode 100644 index 000000000..b14756dcd --- /dev/null +++ b/plugin-build/src/main/kotlin/io/sentry/gradle/Shared.kt @@ -0,0 +1,11 @@ +package io.sentry.gradle + +import io.sentry.BuildConfig +import java.io.File + +internal const val SENTRY_ORG_PARAMETER = "sentryOrg" +internal const val SENTRY_PROJECT_PARAMETER = "sentryProject" + +internal const val SENTRY_SDK_VERSION = BuildConfig.SdkVersion + +internal val sep = File.separator diff --git a/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidAppSubplugin.kt b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidAppSubplugin.kt new file mode 100644 index 000000000..61f802a07 --- /dev/null +++ b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidAppSubplugin.kt @@ -0,0 +1,66 @@ +package io.sentry.gradle.subplugin + +import com.android.build.api.variant.AndroidComponentsExtension +import com.android.build.gradle.AppExtension +import io.sentry.android.gradle.autoinstall.installDependencies +import io.sentry.android.gradle.cliExecutableProvider +import io.sentry.android.gradle.configure +import io.sentry.android.gradle.extensions.SentryPluginExtension +import io.sentry.android.gradle.util.AgpVersions +import org.gradle.api.Project +import org.gradle.api.tasks.StopExecutionException +import org.gradle.internal.build.event.BuildEventListenerRegistryInternal + +class AndroidAppSubplugin( + private val project: Project, + private val extension: SentryPluginExtension, +) { + fun apply( + buildEvents: BuildEventListenerRegistryInternal, + sentryOrgParameter: String?, + sentryProjectParameter: String?, + ) = + project.run { + checkAgpVersion() + + val oldAGPExtension = extensions.getByType(AppExtension::class.java) + val androidComponentsExt = extensions.getByType(AndroidComponentsExtension::class.java) + val cliExecutable = cliExecutableProvider() + + // new API configuration + androidComponentsExt.configure( + this, + extension, + buildEvents, + cliExecutable, + sentryOrgParameter, + sentryProjectParameter, + ) + + // old API configuration + oldAGPExtension.configure( + this, + extension, + cliExecutable, + sentryOrgParameter, + sentryProjectParameter, + buildEvents, + ) + + installDependencies(extension, true) + } + + private fun Project.checkAgpVersion() { + if (AgpVersions.CURRENT < AgpVersions.VERSION_7_0_0) { + throw StopExecutionException( + """ + Using io.sentry.android.gradle:3+ with Android Gradle Plugin < 7 is not supported. + Either upgrade the AGP version to 7+, or use an earlier version of the Sentry + Android Gradle Plugin. For more information check our migration guide + https://docs.sentry.io/platforms/android/migration/#migrating-from-iosentrysentry-android-gradle-plugin-2x-to-iosentrysentry-android-gradle-plugin-300 + """ + .trimIndent() + ) + } + } +} diff --git a/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidLibSubplugin.kt b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidLibSubplugin.kt new file mode 100644 index 000000000..f88fd4694 --- /dev/null +++ b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/AndroidLibSubplugin.kt @@ -0,0 +1,9 @@ +package io.sentry.gradle.subplugin + +import org.gradle.api.Project + +class AndroidLibSubplugin(private val project: Project) { + fun apply() { + // TODO: add logic to upload source contexts here + } +} diff --git a/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/RootPlugin.kt b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/RootPlugin.kt new file mode 100644 index 000000000..be3188138 --- /dev/null +++ b/plugin-build/src/main/kotlin/io/sentry/gradle/subplugin/RootPlugin.kt @@ -0,0 +1,50 @@ +package io.sentry.gradle.subplugin + +import io.sentry.android.gradle.extensions.SentryPluginExtension +import io.sentry.gradle.SENTRY_ORG_PARAMETER +import io.sentry.gradle.SENTRY_PROJECT_PARAMETER +import org.gradle.api.Project +import org.gradle.api.plugins.ExtraPropertiesExtension +import org.gradle.api.tasks.StopExecutionException +import org.gradle.internal.build.event.BuildEventListenerRegistryInternal + +internal class RootPlugin(private val project: Project) { + init { + check(project == project.rootProject) { + "This plugin must only be applied to the root project. Was ${project.path}." + } + } + + fun apply(buildEvents: BuildEventListenerRegistryInternal) = + project.run { + subprojects { p -> + val extraProperties = p.extensions.getByName("ext") as ExtraPropertiesExtension + val sentryOrgParameter = + runCatching { extraProperties.get(SENTRY_ORG_PARAMETER).toString() }.getOrNull() + val sentryProjectParameter = + runCatching { extraProperties.get(SENTRY_PROJECT_PARAMETER).toString() }.getOrNull() + + p.pluginManager.withPlugin("com.android.library") { + val sentryExtension = SentryPluginExtension.of(p) + AndroidLibSubplugin(p).apply() + } + p.pluginManager.withPlugin("com.android.application") { + val sentryExtension = SentryPluginExtension.of(p) + AndroidAppSubplugin(p, sentryExtension) + .apply(buildEvents, sentryOrgParameter, sentryProjectParameter) + } + + // this has to be in afterEvaluate, else it might be too early to detect the deprecated + // plugin + p.afterEvaluate { + p.pluginManager.withPlugin("com.android.application") { + if (p.plugins.hasPlugin("io.sentry.android.gradle")) { + throw StopExecutionException( + "Using 'io.sentry.gradle' and 'io.sentry.android.gradle' plugins together is not supported." + ) + } + } + } + } + } +} diff --git a/plugin-build/src/main/kotlin/io/sentry/jvm/gradle/SentryJvmPlugin.kt b/plugin-build/src/main/kotlin/io/sentry/jvm/gradle/SentryJvmPlugin.kt index d38a1fb83..6bd8b4626 100644 --- a/plugin-build/src/main/kotlin/io/sentry/jvm/gradle/SentryJvmPlugin.kt +++ b/plugin-build/src/main/kotlin/io/sentry/jvm/gradle/SentryJvmPlugin.kt @@ -13,8 +13,10 @@ import io.sentry.android.gradle.telemetry.SentryTelemetryService import io.sentry.android.gradle.util.SentryPluginUtils import io.sentry.android.gradle.util.hookWithAssembleTasks import io.sentry.android.gradle.util.info +import io.sentry.gradle.SENTRY_ORG_PARAMETER +import io.sentry.gradle.SENTRY_PROJECT_PARAMETER import io.sentry.gradle.common.JavaVariant -import java.io.File +import io.sentry.gradle.sep import java.util.concurrent.atomic.AtomicBoolean import javax.inject.Inject import org.gradle.api.Plugin @@ -35,7 +37,7 @@ constructor(private val buildEvents: BuildEventListenerRegistryInternal) : Plugi private val configuredForJavaProject = AtomicBoolean(false) override fun apply(project: Project) { - val extension = project.extensions.create("sentry", SentryPluginExtension::class.java, project) + val extension = SentryPluginExtension.of(project) project.pluginManager.withPlugin("org.gradle.java") { if (configuredForJavaProject.getAndSet(true)) { @@ -54,11 +56,9 @@ constructor(private val buildEvents: BuildEventListenerRegistryInternal) : Plugi val extraProperties = project.extensions.getByName("ext") as ExtraPropertiesExtension val sentryOrgParameter = - runCatching { extraProperties.get(SentryPlugin.SENTRY_ORG_PARAMETER).toString() } - .getOrNull() + runCatching { extraProperties.get(SENTRY_ORG_PARAMETER).toString() }.getOrNull() val sentryProjectParameter = - runCatching { extraProperties.get(SentryPlugin.SENTRY_PROJECT_PARAMETER).toString() } - .getOrNull() + runCatching { extraProperties.get(SENTRY_PROJECT_PARAMETER).toString() }.getOrNull() val sentryTelemetryProvider = SentryTelemetryService.register(project) project.gradle.taskGraph.whenReady { @@ -135,8 +135,4 @@ constructor(private val buildEvents: BuildEventListenerRegistryInternal) : Plugi project.installDependencies(extension, false) } } - - companion object { - internal val sep = File.separator - } } diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallNonAndroidTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallNonAndroidTest.kt index 0a2ba5755..0e83310e5 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallNonAndroidTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallNonAndroidTest.kt @@ -1,6 +1,6 @@ package io.sentry.android.gradle.integration -import io.sentry.android.gradle.SentryPlugin.Companion.SENTRY_SDK_VERSION +import io.sentry.gradle.SENTRY_SDK_VERSION import kotlin.test.assertFalse import kotlin.test.assertTrue import org.gradle.util.GradleVersion diff --git a/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallTest.kt b/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallTest.kt index 8a95d839d..2f62bfd33 100644 --- a/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallTest.kt +++ b/plugin-build/src/test/kotlin/io/sentry/android/gradle/integration/SentryPluginAutoInstallTest.kt @@ -1,7 +1,7 @@ package io.sentry.android.gradle.integration import io.sentry.BuildConfig -import io.sentry.android.gradle.SentryPlugin.Companion.SENTRY_SDK_VERSION +import io.sentry.gradle.SENTRY_SDK_VERSION import kotlin.test.assertFalse import kotlin.test.assertTrue import org.gradle.util.GradleVersion diff --git a/settings.gradle.kts b/settings.gradle.kts index ecc1c3de2..39df5e5f4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,6 +13,9 @@ pluginManagement { if (requested.id.id == "io.sentry.jvm.gradle") { useModule("io.sentry:sentry-android-gradle-plugin:${requested.version}") } + if (requested.id.id == "io.sentry.gradle") { + useModule("io.sentry:sentry-android-gradle-plugin:${requested.version}") + } } } repositories { @@ -28,7 +31,7 @@ include(":examples:android-gradle") include(":examples:android-gradle-kts") -include(":examples:android-guardsquare-proguard") +// include(":examples:android-guardsquare-proguard") include(":examples:android-ndk")