Skip to content
Open
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
40 changes: 40 additions & 0 deletions .github/workflows/publish-snapshots.yml
Original file line number Diff line number Diff line change
@@ -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
39 changes: 39 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
34 changes: 34 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -17,9 +19,41 @@ 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")
}
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")
organization.set("King's College London")
}
}
}
}

// --- Vulnerability fixes start ---
dependencies {
plugins.withType<JavaPlugin> {
Expand Down
21 changes: 21 additions & 0 deletions google-health-library/build.gradle
Original file line number Diff line number Diff line change
@@ -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
}
5 changes: 3 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
project = "0.7.3"
project = "0.7.6-SNAPSHOT"
gradle = "8.14"
kotlin = "1.9.24"
radarCommons = "1.2.6"
Expand All @@ -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"
Expand Down Expand Up @@ -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" }
28 changes: 1 addition & 27 deletions oura-library/build.gradle
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@

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()
}
description = "Library for converting Oura data into RADAR-base Avro records"

dependencies {
// Use the Kotlin JDK 8 standard library.
implementation libs.kotlin.stdlib

implementation libs.okhttp
Expand All @@ -26,22 +15,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
}
}
}
}
Loading