Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial gradle build #212

Merged
merged 46 commits into from
Feb 12, 2025
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
29d5e2e
Initial gradle build
midttuna Oct 8, 2024
b7e632b
gradle permission denied fix
midttuna Oct 8, 2024
ac934f1
fix java version complaint
midttuna Oct 8, 2024
bb5685d
fix java version complaint
midttuna Oct 8, 2024
c0e3114
typos, whitespace, number of parallel tests
midttuna Oct 8, 2024
e7cad0e
add target directory for downloaded licenses
midttuna Oct 8, 2024
a97d900
blind infinite typos
midttuna Oct 8, 2024
28c14a9
case sensitive
midttuna Oct 8, 2024
32fe0f1
new line eof
midttuna Oct 11, 2024
58a5a17
Merge branch 'Draegerwerk:main' into sdccc-gradle
midttuna Oct 14, 2024
74b1800
whitespace and test
midttuna Nov 28, 2024
8e2a069
review changes
midttuna Dec 2, 2024
21fb49e
versioning
midttuna Dec 2, 2024
7b650f3
remove unnecessary
midttuna Dec 2, 2024
63c4e1e
permission error revert
midttuna Dec 2, 2024
fd1b39b
bracket
midttuna Dec 2, 2024
1c2cda0
Merge branch 'Draegerwerk:main' into sdccc-gradle
midttuna Dec 2, 2024
8e1caa7
move versions from java-conventions.
midttuna Dec 3, 2024
4b8639e
make writeable
midttuna Dec 3, 2024
e05b749
composite build instead of buildsrc and fix review remarks
midttuna Jan 6, 2025
4d965d8
remove hardcoded versions
midttuna Jan 6, 2025
3bd828d
typos, remove test jar and move versions to catalog
midttuna Jan 8, 2025
1435dea
Make things skipable or optional
midttuna Jan 30, 2025
41a9f1a
reintroduce deleted license download
midttuna Jan 30, 2025
c3a600c
reintroduce deleted tests
midttuna Jan 30, 2025
b1e7b0e
merge main
midttuna Jan 30, 2025
6750c51
test jar
midttuna Jan 30, 2025
2a449af
dynamic executable name
midttuna Jan 31, 2025
a1ff713
executable version
midttuna Jan 31, 2025
ea76982
log4j annotation for custom appender (TriggerOnErrorOrWorseLogAppender)
midttuna Feb 3, 2025
a361be9
mainclass and executable version
midttuna Feb 4, 2025
c9a5b87
unnecessary property
midttuna Feb 4, 2025
51cf8a8
namings
midttuna Feb 5, 2025
7c18f67
jre path for executable fix
midttuna Feb 11, 2025
5f29ce3
move version to separate conventions file
midttuna Feb 11, 2025
e1ff84a
download jre to build/
midttuna Feb 11, 2025
871078f
classpath detekt
midttuna Feb 11, 2025
9cb775d
Merge branch 'main' of https://github.com/midttuna/SDCcc into sdccc-g…
midttuna Feb 11, 2025
5fa2938
tests
midttuna Feb 12, 2025
033a1af
detekt lazy classpath
midttuna Feb 12, 2025
5768fe9
revision changelist check
midttuna Feb 12, 2025
33dc911
typo
midttuna Feb 12, 2025
7b2a13b
tests
midttuna Feb 12, 2025
b1b9258
remove poms and changelog
midttuna Feb 12, 2025
6d88db8
Readme update
midttuna Feb 12, 2025
1b2c4fd
Readme update correct gradle version
midttuna Feb 12, 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
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

- name: Retrieve current version from gradle.properties
run: |
echo RELEASE_VERSION=$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{print $2}') >> $GITHUB_ENV
echo RELEASE_VERSION=$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{print $2}') | sed "s/-SNAPSHOT//" >> $GITHUB_ENV
echo GIT_HASH_SHORT=$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_ENV

- name: Remove SNAPSHOT suffix for release
Expand All @@ -41,7 +41,7 @@ jobs:
- name: Add git run number and git hash to snapshot release
if: startsWith(github.ref, 'refs/tags/') && !startsWith(github.ref, 'refs/tags/v')
run: |
echo CHANGELIST=${{ env.CHANGELIST }}.${{ env.GIT_HASH_SHORT }} >> $GITHUB_ENV
echo CHANGELIST=${{ env.CHANGELIST }}#$GITHUB_RUN_NUMBER-${{ env.GIT_HASH_SHORT }} >> $GITHUB_ENV

- name: Run headless test
uses: GabrielBB/xvfb-action@v1
Expand All @@ -61,7 +61,7 @@ jobs:

- name: Build package and download license information
run: |
./gradlew build -x test -Prevision=${{ env.RELEASE_VERSION }} -Pchangelist=${{ env.CHANGELIST }}
./gradlew build -x test -Prevision=${{ env.RELEASE_VERSION }} -Pchangelist=${{ env.CHANGELIST }} -PexecutableSDCcc
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,20 @@ tasks.register<Copy>("copyRuntimeLibs") {
into("${layout.buildDirectory.get().asFile}/lib")
}

val projectName = "SDCcc-gradle"
val projectName = if (project.name == "sdccc") "SDCcc" else project.name
val projectVersion = rootProject.extra["projectVersion"] as String
ldeichmann marked this conversation as resolved.
Show resolved Hide resolved

tasks.createExe {
headerType = "console"
jar = "${layout.buildDirectory.get().asFile}/libs/${projectName}-${project.version}.jar"
outfile = "${projectName}-${project.version}.exe" // Absolute path not allowed. File gets placed in build/launch4j
jar = "${layout.buildDirectory.get().asFile}/libs/${projectName}-${projectVersion}.jar"
outfile = "${projectName}-${projectVersion}.exe" // Absolute path not allowed. File gets placed in build/launch4j
mainClassName = "com.draeger.medical.sdccc.TestSuite"
classpath = setOf("lib/**")
jreMinVersion = javaVersion
bundledJrePath = "../${jreFullPath}"
ldeichmann marked this conversation as resolved.
Show resolved Hide resolved

version = "${project.version}.0"
textVersion = "${project.version}"
version = "${projectVersion}.0"
textVersion = "${projectVersion}"
fileDescription = "${project.name}"
copyright = "2023-2024 Draegerwerk AG & Co. KGaA"

Expand All @@ -77,4 +78,3 @@ tasks.named("createExe") {
tasks.named("build") {
dependsOn("createExe")
}

Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,22 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {

val detekt by configurations.creating

val detektConfigPath = projectDir.path + File.separator +
(project.findProperty("detektConfigFilePath")?.toString() ?: "dev_config/detekt.yml")

val detektTask = tasks.register<JavaExec>("detekt") {
dependsOn("assemble")
mainClass.set("io.gitlab.arturbosch.detekt.cli.Main")
classpath = detekt

val input = projectDir
val config = "$projectDir/../dev_config/detekt.yml"
val config = detektConfigPath
val exclude = ".*/build/.*,.*/resources/.*,**/build.gradle.kts,**/settings.gradle.kts"
val classpathNeededForDetekt = files(
sourceSets.main.get().runtimeClasspath,
sourceSets.test.get().runtimeClasspath
)
).asPath

val jdkHome = System.getProperty("java.home")
args(
"--input", input.absolutePath,
Expand All @@ -42,11 +47,8 @@ val detektTask = tasks.register<JavaExec>("detekt") {
)
}

tasks.check {
dependsOn(detektTask)
}

dependencies {
detekt(libs.detekt.cli)
detekt(libs.detekt.formatting)
api(libs.org.jetbrains.kotlin.kotlin.stdlib)
}
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ com-github-jk1-license = "2.9"
com-google-inject-guice = { module = "com.google.inject:guice", version.ref = "guice" }
com-google-inject-extensions-guice-assistedinject = { module = "com.google.inject.extensions:guice-assistedinject", version.ref = "guice" }
detekt-cli = { module = "io.gitlab.arturbosch.detekt:detekt-cli", version.ref = "detekt" }
detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
io-github-threeten-jaxb-threeten-jaxb-core = { module = "io.github.threeten-jaxb:threeten-jaxb-core", version.ref = "threeten-jaxb-core" }
jakarta-xml-bind-jakarta-xml-bind-api = { module = "jakarta.xml.bind:jakarta.xml.bind-api", version.ref = "jakarta-xml-bind" }
org-checkerframework-checker-qual = { module = "org.checkerframework:checker-qual", version.ref = "org-checkerframework" }
Expand Down
45 changes: 33 additions & 12 deletions sdccc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
plugins {
ldeichmann marked this conversation as resolved.
Show resolved Hide resolved
id("com.draeger.medical.java-conventions")
id("com.draeger.medical.kotlin-conventions")
id("com.draeger.medical.executable-conventions")
id("com.draeger.medical.java-analysis")
id("com.example.license-report")
}

val javaVersion = property("javaVersion").toString()

tasks.named("build") {
dependsOn("generateLicenseReport")
}

dependencies {
api(libs.org.junit.jupiter.junit.jupiter.api)
api(libs.org.junit.jupiter.junit.jupiter.engine)
Expand Down Expand Up @@ -56,9 +49,37 @@ dependencies {

description = "sdccc"

tasks.test {
useJUnitPlatform()
exclude("it/com/draeger/medical/sdccc/testsuite_it_mock_tests/**")
maxHeapSize = "3g"
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
val skipModuleTests: Boolean = project.hasProperty("noTestSDCcc")
val createExecutable: Boolean = project.hasProperty("executableSDCcc")

if (!skipModuleTests) {
apply(plugin = "com.draeger.medical.java-analysis")

tasks.check {
dependsOn("detekt")
}

tasks.test {
useJUnitPlatform()
exclude("it/com/draeger/medical/sdccc/testsuite_it_mock_tests/**")
maxHeapSize = "3g"
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
}
}

if (createExecutable) {
apply(plugin = "com.example.license-report")
tasks.named("build") {
dependsOn("generateLicenseReport")
}
apply(plugin = "com.draeger.medical.executable-conventions")
}

val testsJar by tasks.registering(Jar::class) {
archiveClassifier.set("tests")
from(sourceSets["test"].output)
}
ldeichmann marked this conversation as resolved.
Show resolved Hide resolved

artifacts {
add("archives", tasks.named("testsJar"))
}
1 change: 1 addition & 0 deletions sdccc/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
detektConfigFilePath = ../dev_config/detekt.yml
8 changes: 8 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,11 @@ include(":biceps-model")
include(":dpws-model")
include(":sdccc")

val defaultVersion = "9.1.0-SNAPSHOT"
ldeichmann marked this conversation as resolved.
Show resolved Hide resolved

val actualRevision = providers.gradleProperty("revision").orElse(defaultVersion).get()
val actualChangelist = providers.gradleProperty("changelist").orElse("").get()

gradle.rootProject {
extra["projectVersion"] = "$actualRevision$actualChangelist"
}