diff --git a/build.gradle.kts b/build.gradle.kts index 1f66c1b18..8810e79ea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,13 @@ import com.diffplug.spotless.LineEnding +import com.jfrog.bintray.gradle.BintrayExtension +import com.jfrog.bintray.gradle.tasks.BintrayPublishTask import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { `java-library` id("com.diffplug.gradle.spotless") version Config.QualityPlugins.spotlessVersion apply true + id(Config.PublishPlugins.bintrayPlugin) version Config.PublishPlugins.bintrayVersion apply true jacoco } @@ -34,6 +37,7 @@ allprojects { } group = "io.sentry" version = "2.0.0-SNAPSHOT" + description = "SDK for sentry.io" tasks { withType { testLogging.showStandardStreams = true diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index 9da05bc63..458f8e672 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -7,6 +7,11 @@ object Config { val kotlinGradlePlugin = "gradle-plugin" } + object PublishPlugins { + val bintrayPlugin = "com.jfrog.bintray" + val bintrayVersion = "1.8.4" + } + object Android { private val sdkVersion = 29 diff --git a/sentry-core/build.gradle.kts b/sentry-core/build.gradle.kts index cfaa9556e..e7bd647d9 100644 --- a/sentry-core/build.gradle.kts +++ b/sentry-core/build.gradle.kts @@ -1,8 +1,15 @@ +import com.jfrog.bintray.gradle.tasks.BintrayPublishTask +import com.jfrog.bintray.gradle.tasks.BintrayUploadTask +import org.gradle.api.publish.PublishingExtension + plugins { `java-library` + `maven-publish` + signing kotlin("jvm") jacoco id("net.ltgt.errorprone") + id(Config.PublishPlugins.bintrayPlugin) } dependencies { @@ -49,4 +56,60 @@ tasks { dependsOn(jacocoTestCoverageVerification) dependsOn(jacocoTestReport) } + + withType { + bintray { + user = System.getenv("BINTRAY_USER") + key = System.getenv("BINTRAY_KEY") + with(pkg) { + repo = "mvn" + name = project.name + userOrg = "getsentry" + setLicenses("MIT") + websiteUrl = "https://sentry.io" + vcsUrl = "https://github.com/getsentry/sentry-android" + setLabels("sentry", "getsentry", "error-tracking", "crash-reporting") + with(version) { + name = project.version.toString() + vcsTag = project.version.toString() + desc = project.description.toString() + } + } + println("version: $version") + setPublications(project.name) + } + } +} + +publishing { + publications { + register(project.name, MavenPublication::class) { + if (project.hasProperty("android")) { + artifact("$buildDir/outputs/aar/${project.name}-release.aar") + } else { + from(components["java"]) + } + groupId = project.group.toString() + artifactId = project.name + version = project.version.toString() +// artifact(sourcesJar) +// artifact(javadocJar) + + if (project.hasProperty("android")) { + pom { + withXml { + asNode().appendNode("dependencies").let { depNode -> + configurations.implementation.get().allDependencies.forEach { + depNode.appendNode("dependency").apply { + appendNode("groupId", it.group) + appendNode("artifactId", it.name) + appendNode("version", it.version) + } + } + } + } + } + } + } + } } diff --git a/sentry-sample/build.gradle.kts b/sentry-sample/build.gradle.kts index 258eb4d2f..90682d403 100644 --- a/sentry-sample/build.gradle.kts +++ b/sentry-sample/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") kotlin("android") -// id("io.sentry.android.gradle") how to add sentry gradle plugin + id(Config.PublishPlugins.bintrayPlugin) } android {