From 2e36d394e85e65e73dbd508ad25def8c5167bbe6 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Mon, 11 May 2026 15:44:22 +0530 Subject: [PATCH 1/5] Add radar publishing plugin from radar commons --- gradle/libs.versions.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c4161d60..e5ac4118 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -project = "0.7.3" +project = "0.7.3-SNAPSHOT" gradle = "8.14" kotlin = "1.9.24" radarCommons = "1.2.6" @@ -60,3 +60,4 @@ kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version radar-root-project = { id = "org.radarbase.radar-root-project", version.ref = "radarCommons" } radar-dependency-management = { id = "org.radarbase.radar-dependency-management", version.ref = "radarCommons" } radar-kotlin = { id = "org.radarbase.radar-kotlin", version.ref = "radarCommons" } +radar-publishing = { id = "org.radarbase.radar-publishing", version.ref = "radarCommons" } From 245b70b6aec10c18fa306714a2a4810f70f0ef1a Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:20:45 +0530 Subject: [PATCH 2/5] Used radar commons gradle to publish snapshots and releases --- build.gradle.kts | 30 ++++++++++++++++++++++++++++++ google-health-library/build.gradle | 23 +---------------------- oura-library/build.gradle | 28 ---------------------------- 3 files changed, 31 insertions(+), 50 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7cd939d1..e175ae1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,11 @@ import org.radarbase.gradle.plugin.radarKotlin +import org.radarbase.gradle.plugin.radarPublishing plugins { alias(libs.plugins.radar.root.project) alias(libs.plugins.radar.dependency.management) alias(libs.plugins.radar.kotlin) apply false + alias(libs.plugins.radar.publishing) apply false } repositories { @@ -17,9 +19,37 @@ radarRootProject { gradleVersion.set(libs.versions.gradle) } +val githubRepoName = "RADAR-base/RADAR-REST-Connector" +val githubProjectUrl = "https://github.com/$githubRepoName" + +val publishedSubprojects = setOf("oura-library", "google-health-library") + subprojects { apply(plugin = "org.radarbase.radar-kotlin") + if (name in publishedSubprojects) { + apply(plugin = "org.radarbase.radar-publishing") + radarPublishing { + githubUrl.set(githubProjectUrl) + developers { + developer { + id.set("yatharthranjan") + name.set("Yatharth Ranjan") + email.set("yatharth.ranjan@kcl.ac.uk") + organization.set("King's College London") + id.set("mpgxvii") + name.set("Pauline Conde") + email.set("mpgxvii@gmail.com") + organization.set("King's College London") + id.set("this-Aditya") + name.set("Aditya Mishra") + email.set("aditya.mishra@kcl.ac.uk") + organization.set("King's College London") + } + } + } + } + // --- Vulnerability fixes start --- dependencies { plugins.withType { diff --git a/google-health-library/build.gradle b/google-health-library/build.gradle index 785104e7..4244038f 100644 --- a/google-health-library/build.gradle +++ b/google-health-library/build.gradle @@ -1,12 +1,4 @@ - -group = 'org.radarbase' -version = '0.0.1' - -apply plugin: 'maven-publish' - -repositories { - mavenCentral() -} +description = "Google Health library with utility components to be used in RADAR-Pushendpoint" dependencies { implementation libs.kotlin.stdlib @@ -27,16 +19,3 @@ dependencies { testImplementation libs.kotlin.test.junit } - -project.afterEvaluate { - publishing { - publications { - library(MavenPublication) { - setGroupId "$group" - setArtifactId "google-health-library" - version "$version" - from components.java - } - } - } -} diff --git a/oura-library/build.gradle b/oura-library/build.gradle index 6d0cc80a..1681ef50 100644 --- a/oura-library/build.gradle +++ b/oura-library/build.gradle @@ -1,17 +1,4 @@ - -group = 'org.radarbase' -version = '0.0.1' - -apply plugin: 'maven-publish' - -repositories { - // Use jcenter for resolving dependencies. - // You can declare any Maven/Ivy/file repository here. - mavenCentral() -} - dependencies { - // Use the Kotlin JDK 8 standard library. implementation libs.kotlin.stdlib implementation libs.okhttp @@ -26,22 +13,7 @@ dependencies { implementation libs.jackson.datatype.jsr310 - // Use the Kotlin test library. testImplementation libs.kotlin.test - // Use the Kotlin JUnit integration. testImplementation libs.kotlin.test.junit } - -project.afterEvaluate { - publishing { - publications { - library(MavenPublication) { - setGroupId "$group" - setArtifactId "oura-library" - version "$version" - from components.java - } - } - } -} From d1b40ef67f1ad3a0d21d810d2af5511bbda2f912 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:29:52 +0530 Subject: [PATCH 3/5] Add CI workflows to publish snapshots --- .github/workflows/publish-snapshots.yml | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/publish-snapshots.yml diff --git a/.github/workflows/publish-snapshots.yml b/.github/workflows/publish-snapshots.yml new file mode 100644 index 00000000..5e64446a --- /dev/null +++ b/.github/workflows/publish-snapshots.yml @@ -0,0 +1,40 @@ +name: Publish snapshots + +on: + push: + branches: [ dev ] + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Assert SNAPSHOT version + run: | + ./gradlew properties --no-daemon -q | grep 'version: .*-SNAPSHOT' + + - name: Import GPG signing key + run: | + echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}" | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + + - name: Publish to Sonatype snapshots + env: + OSSRH_USER: ${{ secrets.OSSRH_USER_TOKEN_ID }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_USER_TOKEN_SECRET }} + run: >- + ./gradlew + -Psigning.gnupg.keyName=${{ secrets.OSSRH_GPG_SECRET_KEY_NAME }} + -Psigning.gnupg.executable=gpg + -Psigning.gnupg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + publish From e1f7e213941c192976ea67bc4d7c0fd4e090c811 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:32:54 +0530 Subject: [PATCH 4/5] Enable publishing of libraries to maven central --- .github/workflows/release.yml | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c70528ad..d26413a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,6 +45,45 @@ jobs: files: '*/build/libs/*' repo-token: ${{ secrets.GITHUB_TOKEN }} + publish-jars: + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v5 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Assert release (non-SNAPSHOT) version + run: | + if ./gradlew properties --no-daemon -q | grep -q 'version: .*-SNAPSHOT'; then + echo "Refusing to release: project version is still -SNAPSHOT" >&2 + exit 1 + fi + + - name: Import GPG signing key + run: | + echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}" | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + + - name: Publish and close staging repository + env: + OSSRH_USER: ${{ secrets.OSSRH_USER_TOKEN_ID }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_USER_TOKEN_SECRET }} + run: >- + ./gradlew + -Psigning.gnupg.keyName=${{ secrets.OSSRH_GPG_SECRET_KEY_NAME }} + -Psigning.gnupg.executable=gpg + -Psigning.gnupg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + publish closeAndReleaseSonatypeStagingRepository + prepare-matrix: name: Prepare Matrix Output runs-on: ubuntu-latest From 4197e8cacc6b675cc4bed5a2810d30a31fb27d17 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:37:42 +0530 Subject: [PATCH 5/5] Correct developers field --- build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index e175ae1c..01597bc6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -37,10 +37,14 @@ subprojects { name.set("Yatharth Ranjan") email.set("yatharth.ranjan@kcl.ac.uk") organization.set("King's College London") + } + developer { id.set("mpgxvii") name.set("Pauline Conde") email.set("mpgxvii@gmail.com") organization.set("King's College London") + } + developer { id.set("this-Aditya") name.set("Aditya Mishra") email.set("aditya.mishra@kcl.ac.uk")