Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b124a69
WIP
JPercival Nov 11, 2025
74fc3b0
WIP
JPercival Nov 11, 2025
8ced47f
Merge branch 'master' into feature-gradle
JPercival Nov 11, 2025
d304798
Merge branch 'master' into feature-gradle
JPercival Nov 11, 2025
d310043
Remove maven
JPercival Nov 13, 2025
d677adc
Path updates
JPercival Nov 13, 2025
10b19d0
Bug fixes
JPercival Nov 13, 2025
05ee10e
Add spotless
JPercival Nov 13, 2025
3368b74
Spotless apply
JPercival Nov 13, 2025
fc7cd13
Remove cqf-fhir-cr-spring
JPercival Nov 13, 2025
bbad091
Bump toolchain plugin version
JPercival Nov 13, 2025
12341f3
Publishing
JPercival Nov 13, 2025
7a9fce4
Little bit of cleanup
JPercival Nov 13, 2025
f09e75d
Little bit of cleanup
JPercival Nov 14, 2025
08ee173
Fixing dependencies and such
JPercival Nov 14, 2025
16c25d3
Merge remote-tracking branch 'origin/master' into feature-gradle
JPercival Nov 17, 2025
57fd98f
Update github actions
JPercival Nov 17, 2025
dfeeeba
Merge branch 'master' into feature-gradle
JPercival Nov 17, 2025
67df9dc
Remove maven scripts
JPercival Nov 17, 2025
3e22739
Fix misnamed tasks
JPercival Nov 17, 2025
0f13c5d
Actually fix task names
JPercival Nov 17, 2025
e762476
Consolidate on Sonar, enable code coverage reports
JPercival Nov 17, 2025
cd02559
Fix jacoco
JPercival Nov 17, 2025
f6c1305
Change excluded Jacoco files
JPercival Nov 17, 2025
b73b039
Add missing library version
JPercival Nov 17, 2025
daa0120
Only instrument files in this project
JPercival Nov 17, 2025
116b5b9
Gradle --info was too much info
JPercival Nov 17, 2025
5fd545c
fix resource directory resolver
JPercival Nov 17, 2025
6c3d9db
Skip spotless for builds and check prs, there's a separate task that …
JPercival Nov 17, 2025
88508b8
Forgot the Sonar token
JPercival Nov 17, 2025
9fa24c7
More build tweaks
JPercival Nov 18, 2025
139a929
expand exception details
JPercival Nov 18, 2025
323a159
Tweaks to build command
JPercival Nov 18, 2025
46ae91e
more build tweaks
JPercival Nov 18, 2025
edb12c9
More build fixes
JPercival Nov 18, 2025
7fbc6be
More hardening around resource closing
JPercival Nov 18, 2025
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
37 changes: 18 additions & 19 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,40 +13,39 @@ concurrency:
cancel-in-progress: true

jobs:
maven:
gradle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
- name: Cache FHIR packages
uses: actions/cache@v4
with:
path: ~/.fhir
key: ${{ runner.os }}-fhir-${{ hashFiles('**/*.*') }}
restore-keys: |
${{ runner.os }}-fhir-
- name: Cache SonarQube packages
uses: actions/cache@v4
with:
path: ~/.fhir
key: ${{ runner.os }}-fhir-${{ hashFiles('**/*.*') }}
restore-keys: |
${{ runner.os }}-fhir-
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
cache: 'maven'
server-id: central
server-url: https://repo1.maven.org/maven2
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
distribution: 'temurin'
java-version: '21'
cache: 'gradle'
- name: Publish snapshot
run: ./mvnw --batch-mode -no-transfer-progress --update-snapshots deploy -Ppackage
run: ./gradlew publish -x spotlessCheck
env:
MAVEN_USERNAME: ${{ vars.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
- name: Publish test report
uses: mikepenz/action-junit-report@v4
if: success() || failure() # always run even if the previous step fails
with:
report_paths: "**/target/surefire-reports/TEST-*.xml"
report_paths: "**/build/test-results/test/TEST-*.xml"
job_name: "Build"
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- uses: actions/setup-python@v5
with:
python-version: 3.x
Expand Down
34 changes: 22 additions & 12 deletions .github/workflows/check-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,46 @@ concurrency:
cancel-in-progress: true

jobs:
maven:
gradle:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
- name: Cache FHIR packages
uses: actions/cache@v4
with:
path: ~/.fhir
key: ${{ runner.os }}-fhir-${{ hashFiles('**/*.*') }}
restore-keys: |
${{ runner.os }}-fhir-
- name: Cache SonarQube packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
cache: 'maven'
cache: 'gradle'
# Skip spotlessCheck since it is checked in a separate workflow
- name: Compile
run: ./mvnw --batch-mode --no-transfer-progress --update-snapshots -T 4 package -DskipTests=true
- name: Tests and additional checks
run: ./mvnw --batch-mode --no-transfer-progress -T 4 verify -Ppackage
run: ./gradlew compileJava compileTestJava -x spotlessCheck
# Linux does full check including SonarQube, Windows only runs tests
- name: Tests and additional checks (Linux)
if: matrix.os == 'ubuntu-latest'
run: ./gradlew check sonar -x spotlessCheck
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Tests only (Windows)
if: matrix.os == 'windows-latest'
run: ./gradlew test -x spotlessCheck
- name: Publish test report
uses: mikepenz/action-junit-report@v4
if: (success() || failure()) && matrix.os == 'ubuntu-latest'
with:
report_paths: "**/target/surefire-reports/TEST-*.xml"
report_paths: "**/build/test-results/test/TEST-*.xml"
job_name: "Check PR"
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
if: matrix.os == 'ubuntu-latest'
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
39 changes: 0 additions & 39 deletions .github/workflows/codeql.yml

This file was deleted.

7 changes: 4 additions & 3 deletions .github/workflows/spotless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ jobs:
with:
distribution: 'temurin'
java-version: '21'
- name: spotless:check
run: ./mvnw spotless:check
cache: 'gradle'
- name: spotlessCheck
run: ./gradlew spotlessCheck
- uses: mshick/add-pr-comment@v2
if: always()
with:
Expand All @@ -25,4 +26,4 @@ jobs:
message-failure: |
**This Pull Request has failed the formatting check**

Please run `mvnw spotless:apply` or `mvnw clean install -DskipTests` to fix the formatting issues.
Please run `./gradlew spotlessApply` to fix the formatting issues.
100 changes: 74 additions & 26 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,39 +1,87 @@
target
test-output
bin/
htmlReport/

.classpath
.project
.settings
.flattened-pom.xml
.factorypath
.DS_Store
.cursorignore
.m2
# Gradle build output
/build/
*/build/

pom.xml.versionsBackup
# Gradle caches and local configuration
.gradle/
!gradle/wrapper/gradle-wrapper.jar
!gradle/wrapper/gradle-wrapper.properties

*.log*
Snap.*
core.*
dump.*
heapdump.*
javacore.*
jitdump.*
.attach_*
# Kotlin/Java compiled output
/out/
classes/
*.class

.idea
# IntelliJ IDEA / Android Studio
.idea/
!.idea/runConfigurations/
*.iml
*.ipr
*.iws
.idea_modules/
out/


# macOS
.DS_Store

# Windows
Thumbs.db

.apt_generated
# Logs
*.log

*DS_Store
# Environment / system files
*.swp
*.swo

# Dependency locking / analysis (optional to ignore)
# Uncomment if you don't use Gradle dependency locking
# gradle.lockfile
# **/gradle.lockfile

# Kotlin Multiplatform specifics
# (native build artifacts, caches, generated sources)
.kotlinc/
.kpm/
.kmp/
.kotlin/
konan/
buildSrc/.gradle/
buildSrc/build/

# Android (if you have Android targets)
*.apk
*.ap_
*.aab
*.dex
*.class
*.apk.idsig
captures/
.externalNativeBuild/
.cxx/

# Generated documentation / reports
docs/
reports/
coverage/
jacoco/

### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
.flattened-pom.xml
dependency-reduced-pom.xml

### Git ###
.worktrees

# asdf-vm specific files
.tool-versions

# mise-vm specific files
mise.toml
mise.toml
10 changes: 0 additions & 10 deletions .mvn/jvm.config

This file was deleted.

Binary file removed .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
18 changes: 0 additions & 18 deletions .mvn/wrapper/maven-wrapper.properties

This file was deleted.

2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
],
"java.configuration.updateBuildConfiguration": "automatic",
"java.dependency.packagePresentation": "hierarchical",
"java.jdt.ls.vmargs": "-Xmx32G -XX:+UseG1GC -XX:+UseStringDeduplication",
"java.jdt.ls.vmargs": "-Xmx64G -XX:+UseG1GC -XX:+UseStringDeduplication",
"java.compile.nullAnalysis.mode": "automatic",
"json.schemaDownload.enable": true,
"[markdown]": {
Expand Down
10 changes: 10 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
id("org.sonarqube") version "7.0.1.6134"
}

sonar {
properties {
property("sonar.projectKey", "cqframework_clinical-reasoning")
property("sonar.organization", "cqframework")
}
}
17 changes: 17 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
plugins {
`kotlin-dsl`

}

repositories {
mavenCentral()
gradlePluginPortal()
}

dependencies {
implementation("com.diffplug.gradle.spotless:com.diffplug.gradle.spotless.gradle.plugin:8.0.0")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.21")
implementation("com.vanniktech:gradle-maven-publish-plugin:0.33.0")
implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20")
implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.3")
}
Loading
Loading