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
23 changes: 1 addition & 22 deletions google-health-library/build.gradle
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
}
}
}
}
3 changes: 2 additions & 1 deletion 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.3-SNAPSHOT"
gradle = "8.14"
kotlin = "1.9.24"
radarCommons = "1.2.6"
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: 0 additions & 28 deletions oura-library/build.gradle
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
}
}
}
}