commit 03fcc26854c53b9a200e2f532905f4e10c7f82e5 from: Chaz Kettleson date: Sat Apr 12 00:15:44 2025 UTC build: add spotless; style/format commit - b346a19f9bf94df36ac6f33b0ac32e802adbe67d commit + 03fcc26854c53b9a200e2f532905f4e10c7f82e5 blob - 0ee66fb2084bb206ad49d2fbf23e42e75f8d59dc blob + 3540160a1a9d5215fe856adfecb542addf230f43 --- .gitlab-ci.yml +++ .gitlab-ci.yml @@ -96,7 +96,7 @@ my-build-job: stage: my-build-stage variables: MY_CACHE_POLICY: pull-push - script: gradle --build-cache assemble + script: gradle assemble my-test-job: extends: blob - 7be0c30e098c29b3d6a09319e50bdb25de2b9afb blob + dd55f1470d8bb4bbce2604f463900b1c65a6e39d --- build.gradle +++ build.gradle @@ -37,6 +37,7 @@ subprojects { // Run 'createKeyAndTruststore' first and/or customize as needed //apply from: rootProject.file('gradle/signjar.gradle') apply from: rootProject.file('gradle/spotbugs.gradle') + //apply from: rootProject.file('gradle/spotless.gradle') } apply from: rootProject.file('gradle/build-dashboard.gradle') blob - 908e708d3e09b2c222b8e759a0fd2a60abe811a6 blob + ff660072c852ab16dce2ae9b193e6b0068ec6353 --- gradle/docker.gradle +++ gradle/docker.gradle @@ -29,8 +29,8 @@ import com.bmuschko.gradle.docker.tasks.image.Dockerfi import com.bmuschko.gradle.docker.tasks.image.Dockerfile.Healthcheck tasks.register('createDockerfile', Dockerfile) { - group 'docker' - description 'Creates Dockerfile for Karaf-based applications' + group = 'docker' + description = 'Creates Dockerfile for Karaf-based applications' from(docker_fromImage) exposePort(1099, 8101, 8181, 44444) instruction("COPY --chown=${docker_copyChownUid}:${docker_copyChownUid} build/install/* /app/") blob - bac98e15e0ac82b6cd638b4b9664ff3834c4c165 blob + 7ce4a1647f19541233ab3bcac79cf2cd141c817d --- gradle/jib.gradle +++ gradle/jib.gradle @@ -34,18 +34,18 @@ def jibDist = project.hasProperty('jibDist') ? project jib { from { - image docker_fromImage + image = docker_fromImage } def gitlabCi = System.getenv('GITLAB_CI') def registryImage + def appName = jibDist.empty ? name : "${name}-" + jibDist.toLowerCase() if (gitlabCi) { registryImage = System.getenv('CI_REGISTRY_IMAGE') - def appName = jibDist.empty ? name : "${name}-" + jibDist.toLowerCase() registryImage = "${registryImage}/${appName}" def ciRegistryPassword = System.getenv('CI_REGISTRY_PASSWORD') def ciRegistryUser = System.getenv('CI_REGISTRY_USER') to { - image "${registryImage}:${version}" + image = "${registryImage}:${version}" auth { username = ciRegistryUser password = ciRegistryPassword @@ -53,12 +53,15 @@ jib { } } else { registryImage = docker_toBaseImage - def appName = jibDist.empty ? name : "${name}-" + jibDist.toLowerCase() registryImage = "${registryImage}/${appName}" to { - image "${registryImage}:${version}" + image = "${registryImage}:${version}" } } + outputPaths { + def baseOutputPath = project.layout.buildDirectory.dir('jib').get().file("${appName}-${version}").toString() + tar = "${baseOutputPath}.tar" + } // Hack for empty configuration configurationName = "dummy" container { @@ -86,4 +89,5 @@ jib { } tasks.jib.dependsOn "install${jibDist}Dist" +tasks.jibBuildTar.dependsOn "install${jibDist}Dist" tasks.jibDockerBuild.dependsOn "install${jibDist}Dist" blob - 991d8f00d3c1f1b026eb50e441cd1ea3abc1e89a blob + a140f61cc681ac51b052eed6a3aa2f941f1f98c7 --- gradle/libs.versions.toml +++ gradle/libs.versions.toml @@ -26,40 +26,45 @@ apache-felix-gogo-runtime = '1.1.4' apache-felix-metatype = '1.2.4' apache-felix-scr = '2.2.12' apache-karaf = '4.4.7' -checkstyle = '10.21.2' +checkstyle = '10.21.4' commons-io = '2.18.0' -cxf = '3.6.5' +cxf = '3.6.6' findsecbugs = '1.13.0' -gradle-axion-release = '1.17.2' -gradle-biz-aqute-bnd = '7.0.0' +gradle-axion-release = '1.18.8' +gradle-biz-aqute-bnd = '7.1.0' gradle-commitlint = '1.4.3' -gradle-cyclonedx = '1.8.2' +gradle-cyclonedx = '2.2.0' gradle-editorconfig = '0.1.0' gradle-githook = '1.2.1' -gradle-git-changelog = '2.1.2' -gradle-openapi-generator = '7.11.0' -gradle-owasp-check = '9.1.0' -gradle-docker-compose = '0.17.6' +gradle-git-changelog = '3.0.6' +gradle-docker-compose = '0.17.12' gradle-docker-plugin = '9.4.0' -gradle-jib = '3.4.4' +gradle-jib = '3.4.5' gradle-jib-ownership-extension = '0.1.0' gradle-karaf = '0.5.6' gradle-license = '0.16.1' -gradle-lombok = '8.6' +gradle-lombok = '8.13' +gradle-openapi-generator = '7.12.0' +gradle-owasp-check = '12.1.0' gradle-proguard = '7.4.0' -gradle-spotbugs = '6.1.2' -gradle-versions-deps = '0.51.0' +gradle-spotbugs = '6.1.7' +gradle-spotless = '7.0.2' +gradle-versions-deps = '0.52.0' +gson-fire = '1.9.0' hawtio = '2.17.7' jacoco = '0.8.12' -jackson = '2.18.2' +jackson = '2.18.3' jline = '3.21.0' jansi = '2.4.1' -jakarta-validation-api = '3.1.0' +jakarta-annotation-api = '3.0.0' +jakarta-validation-api = '3.1.1' javax-inject = '1' javax-servlet-api = '4.0.1' javax-ws-rs-api = '2.1.1' jfiglet = '0.0.9' +jsr305 = '3.0.2' junit-jupiter = '5.11.4' +okhttp3 = '4.12.0' lombok = '1.18.36' maven-exec = '4.0.0' osgi-annotation = '2.0.0' @@ -71,12 +76,12 @@ osgi-util-function = '1.2.0' osgi-util-promise = '1.3.0' pax-exam = '4.14.0' pax-logging-api = '2.2.8' -pmd = '7.9.0' +pmd = '7.12.0' shadow = '8.1.1' shiro = '1.10.1' slf4j-api = '2.0.13' -spotbugs = '4.9.0' -swagger = '2.2.28' +spotbugs = '4.9.3' +swagger = '2.2.29' swagger-ui = '4.1.2' [libraries] @@ -107,7 +112,6 @@ gradle-cyclonedx = { module = 'org.cyclonedx:cyclonedx gradle-editorconfig = { module = 'org.ec4j.editorconfig:org.ec4j.editorconfig.gradle.plugin', version.ref = 'gradle-editorconfig' } gradle-githook = { module = 'com.star-zero.gradle:githook', version.ref = 'gradle-githook' } gradle-git-changelog = { module = 'se.bjurr.gitchangelog:git-changelog-gradle-plugin', version.ref = 'gradle-git-changelog' } -gradle-owasp-check = { module = 'org.owasp:dependency-check-gradle', version.ref = 'gradle-owasp-check' } gradle-docker-compose = { module = 'com.avast.gradle:gradle-docker-compose-plugin', version.ref = 'gradle-docker-compose' } gradle-docker-plugin = { module = 'com.bmuschko:gradle-docker-plugin', version.ref = 'gradle-docker-plugin' } gradle-jib = { module = 'com.google.cloud.tools:jib-gradle-plugin', version.ref = 'gradle-jib' } @@ -116,23 +120,29 @@ gradle-karaf = { module = 'gradle.plugin.com.github.lb gradle-license = { module = 'gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin', version.ref = 'gradle-license' } gradle-lombok = { module = 'io.freefair.gradle:lombok-plugin', version.ref = 'gradle-lombok' } gradle-openapi-generator = { module = 'org.openapi.generator:org.openapi.generator.gradle.plugin', version.ref = 'gradle-openapi-generator' } +gradle-owasp-check = { module = 'org.owasp:dependency-check-gradle', version.ref = 'gradle-owasp-check' } gradle-proguard = { module = 'com.guardsquare:proguard-gradle', version.ref = 'gradle-proguard' } gradle-spotbugs = { module = 'com.github.spotbugs.snom:spotbugs-gradle-plugin', version.ref = 'gradle-spotbugs' } +gradle-spotless = { module = 'com.diffplug.gradle.spotless:com.diffplug.gradle.spotless.gradle.plugin', version.ref = 'gradle-spotless' } gradle-swagger = { module = 'io.swagger.core.v3.swagger-gradle-plugin:io.swagger.core.v3.swagger-gradle-plugin.gradle.plugin', version.ref = 'swagger' } gradle-versions-deps = { module = 'com.github.ben-manes:gradle-versions-plugin', version.ref = 'gradle-versions-deps' } +gson-fire = { module = 'io.gsonfire:gson-fire', version.ref = 'gson-fire' } hawtio-plugin-mbean = { module = 'io.hawt:hawtio-plugin-mbean', version.ref = 'hawtio' } jackson-annotations = { module = 'com.fasterxml.jackson.core:jackson-annotations', version.ref = 'jackson' } jackson-databind = { module = 'com.fasterxml.jackson.core:jackson-databind', version.ref = 'jackson' } jackson-jaxrs-json-provider = { module = 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider', version.ref = 'jackson' } jansi = { module = 'org.fusesource.jansi:jansi', version.ref = 'jansi' } +jakarta-annotation-api = { module = 'jakarta.annotation:jakarta.annotation-api', version.ref = 'jakarta-annotation-api' } jakarta-validation-api = { module = 'jakarta.validation:jakarta.validation-api', version.ref = 'jakarta-validation-api' } jline = { module = 'org.jline:jline', version.ref = 'jline' } javax-inject = { module = 'javax.inject:javax.inject', version.ref = 'javax-inject' } javax-servlet-api = { module = 'javax.servlet:javax.servlet-api', version.ref = 'javax-servlet-api' } javax-ws-rs-api = { module = 'javax.ws.rs:javax.ws.rs-api', version.ref = 'javax-ws-rs-api' } jfiglet = { module = 'com.github.lalyos:jfiglet', version.ref = 'jfiglet' } +jsr305 = { module = 'com.google.code.findbugs:jsr305', version.ref = 'jsr305' } junit-jupiter-api = { module = 'org.junit.jupiter:junit-jupiter-api', version.ref = 'junit-jupiter' } junit-jupiter-engine = { module = 'org.junit.jupiter:junit-jupiter-engine', version.ref = 'junit-jupiter' } +logging-interceptor = { module = 'com.squareup.okhttp3:logging-interceptor', version.ref = 'okhttp3' } maven-exec = { module = 'com.github.dkorotych.gradle-maven-exec:com.github.dkorotych.gradle-maven-exec.gradle.plugin', version.ref = 'maven-exec' } pax-exam = { module = 'org.ops4j.pax.exam:pax-exam', version.ref = 'pax-exam' } pax-exam-container-karaf = { module = 'org.ops4j.pax.exam:pax-exam-container-karaf', version.ref = 'pax-exam' } blob - 9aff3c12e93b14e87dfd8b3e978531077e36dc59 blob + d43b6f78a8684589337eeacf62b2ac74ecd4a108 --- gradle/license.gradle +++ gradle/license.gradle @@ -31,9 +31,9 @@ license { ext.email = license_email def licenseFile = project.file('LICENSE') if (!licenseFile.exists()) { - header rootProject.file('LICENSE') + header = rootProject.file('LICENSE') } - strictCheck true + strictCheck = true include '**/*.java' include '**/*.perm' include '**/*.properties' @@ -52,7 +52,7 @@ if (project == rootProject) { ext.copyrightHolder = license_copyrightHolder ext.email = license_email source = fileTree(rootDir) - strictCheck true + strictCheck = true include '**/*' exclude '**/*.json' exclude 'LICENSE' blob - /dev/null blob + d0c2ffe7adba1a589f472cedfd993712bd810e9d (mode 644) --- /dev/null +++ gradle/spotless.gradle @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2024 by Chaz Kettleson + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +buildscript { + repositories { + gradlePluginPortal() + } + dependencies { + classpath libs.gradle.spotless + } +} + +apply plugin: com.diffplug.gradle.spotless.SpotlessPlugin + +spotless { + java { + googleJavaFormat() + formatAnnotations() + } +} blob - e18bc253b857cc9614e63c8975b677f496755957 blob + 37f853b1c84d2e2dd1c88441fcc755d7f6643668 --- gradle/wrapper/gradle-wrapper.properties +++ gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME blob - 9a8a0e09059c2b05b44193d1ccb06e80c07c894e blob + 375ee89e182bc733cf6380d95fb36350e5ff517c --- gradle.properties +++ gradle.properties @@ -41,7 +41,7 @@ cyclonedx_license_name=0BSD cyclonedx_license_url=https://opensource.org/license/0bsd # Docker properties -docker_copyChownUid=185 +docker_copyChownUid=0 docker_fromImage=eclipse-temurin:17-jdk-ubi9-minimal@sha256:7915d89f4f4fd4f5bb83aeecbb84a28a740eef29d028f071f3270916912daafd docker_toBaseImage=registry.gitlab.pyr3x.com/projects/template blob - 71251a3cbb5c6b82c9d45791f3f4e3185bba47f6 blob + 6ae3e1c949a26ac4f2eb1c763429cc76158268d7 --- settings.gradle +++ settings.gradle @@ -20,7 +20,7 @@ dependencyResolutionManagement { // Use our local repository and Maven Central only repositories { maven { - url new File(rootDir, 'gradle/repository') + url = new File(rootDir, 'gradle/repository') } mavenCentral() }