From dc419093a4fdeb78f055b197f8c371acde5d8670 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Mon, 11 May 2026 15:44:22 +0530 Subject: [PATCH 1/8] 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 ab0b5d017bd546020185603782bc9b57a6f3f4e2 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:20:45 +0530 Subject: [PATCH 2/8] Used radar commons gradle to publish snapshots and releases --- build.gradle.kts | 30 ++++++++++++++++++++++++++++++ google-health-library/build.gradle | 21 +++++++++++++++++++++ oura-library/build.gradle | 28 ---------------------------- 3 files changed, 51 insertions(+), 28 deletions(-) create mode 100644 google-health-library/build.gradle 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 new file mode 100644 index 00000000..4244038f --- /dev/null +++ b/google-health-library/build.gradle @@ -0,0 +1,21 @@ +description = "Google Health library with utility components to be used in RADAR-Pushendpoint" + +dependencies { + implementation libs.kotlin.stdlib + + implementation libs.okhttp + + implementation libs.radar.schemas.commons + + implementation libs.jackson.annotations + + implementation libs.jackson.databind + + implementation libs.avro + + implementation libs.jackson.datatype.jsr310 + + testImplementation libs.kotlin.test + + testImplementation libs.kotlin.test.junit +} 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 bfdf79738ae552b35005b124d4a1fe2a8587e935 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:29:52 +0530 Subject: [PATCH 3/8] 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 438cd6b918ea249c4efc0b5b86951e1c1e432fc2 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:32:54 +0530 Subject: [PATCH 4/8] 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 30a1f5b39508ffc9d2c00541602c3b7c0c13d31d Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Tue, 12 May 2026 17:37:42 +0530 Subject: [PATCH 5/8] 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") From 03bbddc0a97ac00040f12819b19ed7902923aaa6 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Wed, 24 Jun 2026 14:49:54 +0100 Subject: [PATCH 6/8] Bump version --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e5ac4118..732d58e4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -project = "0.7.3-SNAPSHOT" +project = "0.7.6-SNAPSHOT" gradle = "8.14" kotlin = "1.9.24" radarCommons = "1.2.6" From d0f3b0b736b886d838c758eb4b8ef50621ac0e50 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Fri, 26 Jun 2026 08:33:22 +0100 Subject: [PATCH 7/8] Bump Version --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 732d58e4..ed1498c1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,7 +15,7 @@ sentryOpenTelemetryAgent = "8.36.0" # @pin Upgrade to 5.x.x requires kotlin v2 minimum okhttp = "4.12.0" firebaseAdmin = "9.8.0" -radarSchemas = "0.8.16" +radarSchemas = "0.8.18" # @pin Upgrade to 3.x.x requires kotlin v2 minimum ktor = "2.3.13" wiremock = "3.0.1" From 96a18ca1cb240756e58a1d9fe1ef6a3e13beb8b2 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Fri, 26 Jun 2026 08:47:30 +0100 Subject: [PATCH 8/8] Add desciption of oura library --- oura-library/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/oura-library/build.gradle b/oura-library/build.gradle index 1681ef50..0f6b35f6 100644 --- a/oura-library/build.gradle +++ b/oura-library/build.gradle @@ -1,3 +1,5 @@ +description = "Library for converting Oura data into RADAR-base Avro records" + dependencies { implementation libs.kotlin.stdlib