Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: plugin publication #252

Merged
merged 11 commits into from
Aug 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 1 addition & 28 deletions .github/workflows/kotlin-multiplatform-gradle-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,31 +45,4 @@ jobs:
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # pin@v4
with:
name: sentry-kotlin-multiplatform-gradle-plugin
token: ${{ secrets.CODECOV_TOKEN }}

archive-distribution:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: DistZip
run: |
cd sentry-kotlin-multiplatform-gradle-plugin && ./gradlew distZip

- name: Archive packages
uses: actions/upload-artifact@v3
with:
name: ${{ github.sha }}
if-no-files-found: error
path: |
./*/build/distributions/*.zip
token: ${{ secrets.CODECOV_TOKEN }}
27 changes: 0 additions & 27 deletions .github/workflows/kotlin-multiplatform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,30 +113,3 @@ jobs:
- name: Test samples
run: |
./gradlew allTests -p sentry-samples

archive-distribution:
runs-on: macos-latest-xlarge

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: DistZip
run: |
./scripts/build-distribution.sh sentry-kotlin-multiplatform

- name: Archive packages
uses: actions/upload-artifact@v4
with:
name: ${{ github.sha }}
if-no-files-found: error
path: |
./*/build/distributions/*.zip
42 changes: 42 additions & 0 deletions .github/workflows/upload-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "Generate and upload distributions"
on:
push:
branches:
- release/**

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
archive-distribution:
runs-on: macos-latest-xlarge

steps:
- uses: actions/checkout@v4

- name: JDK setup
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin

- name: Cached Gradle
uses: gradle/gradle-build-action@842c587ad8aa4c68eeba24c396e15af4c2e9f30a

- name: DistZip libraries
run: |
./gradlew distZip

- name: DistZip plugin
run: |
cd sentry-kotlin-multiplatform-gradle-plugin
./gradlew distZip sentryPluginMarkerDistZip

- name: Archive packages
uses: actions/upload-artifact@v4
with:
name: ${{ github.sha }}
if-no-files-found: error
path: |
./*/build/distributions/*.zip
Comment on lines +27 to +42
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merge all the distributions into one single workflow

33 changes: 20 additions & 13 deletions sentry-kotlin-multiplatform-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ tasks.withType<KotlinCompile> { kotlinOptions { jvmTarget = JavaVersion.VERSION_

gradlePlugin {
plugins {
create(property("id").toString()) {
register("sentryPlugin") {
id = property("id").toString()
implementationClass = property("implementationClass").toString()
}
Expand All @@ -52,32 +52,39 @@ val publish = extensions.getByType(MavenPublishPluginExtension::class.java)
// via gpg:sign-and-deploy-file (release.kts)
publish.releaseSigningEnabled = false

tasks.named("distZip").configure {
tasks.named("distZip") {
dependsOn("publishToMavenLocal")
this.doLast {
val distributionFilePath =
"${project.layout.buildDirectory.asFile.get().path}${sep}distributions${sep}${project.name}-${project.version}.zip"
val file = File(distributionFilePath)
if (!file.exists()) {
throw IllegalStateException("Distribution file: $distributionFilePath does not exist")
}
if (file.length() == 0L) {
throw IllegalStateException("Distribution file: $distributionFilePath is empty")
onlyIf {
inputs.sourceFiles.isEmpty.not().also {
require(it) { "No distribution to zip." }
}
}
}

val sep = File.separator
val sep: String = File.separator

distributions {
main {
contents {
from("build${sep}libs")
from("build${sep}publications${sep}maven")
from("build${sep}publications${sep}pluginMaven")
}
}
create("sentryPluginMarker") {
contents {
from("build${sep}publications${sep}sentryPluginPluginMarkerMaven")
}
}
}

tasks.named("sentryPluginMarkerDistTar") {
mustRunAfter("generatePomFileForSentryPluginPluginMarkerMavenPublication")
}

tasks.named("sentryPluginMarkerDistZip") {
mustRunAfter("generatePomFileForSentryPluginPluginMarkerMavenPublication")
}

buildConfig {
useKotlinOutput()
packageName("io.sentry")
Expand Down
15 changes: 15 additions & 0 deletions sentry-kotlin-multiplatform-gradle-plugin/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,18 @@ versionName=0.7.1
group=io.sentry
# TODO: Update update-cocoa.sh so the cocoa version is auto updated as well
sentryCocoaVersion=8.26.0

# publication pom properties
POM_NAME=Sentry Kotlin Multiplatform Gradle Plugin
POM_DESCRIPTION=Sentry Kotlin Multiplatform Gradle Plugin
POM_URL=https://github.com/getsentry/sentry-kotlin-multiplatform
POM_SCM_URL=https://github.com/getsentry/sentry-kotlin-multiplatform
POM_SCM_CONNECTION=scm:git:git://github.com/getsentry/sentry-kotlin-multiplatform.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://[email protected]/getsentry/sentry-kotlin-multiplatform.git

POM_LICENCE_NAME=MIT
POM_LICENCE_URL=https://github.com/getsentry/sentry-kotlin-multiplatform/blob/main/LICENSE

POM_DEVELOPER_ID=getsentry
POM_DEVELOPER_NAME=Sentry Team and Contributors
POM_DEVELOPER_URL=https://github.com/getsentry/
Loading