From f8b06da900c2057a960ca5bd2481da6a8e89f389 Mon Sep 17 00:00:00 2001 From: Eduardo Ferreira Date: Thu, 15 Jan 2026 14:41:25 -0300 Subject: [PATCH] Configs for dev container, java 8 --- .devcontainer/Dockerfile | 28 ++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 20 ++++++++++++++++++++ .gitignore | 2 ++ .sdkmanrc | 3 +++ build.gradle | 33 ++++++++++++++++++++++----------- 5 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .sdkmanrc diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..ba707a5 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,28 @@ +FROM mcr.microsoft.com/devcontainers/base:ubuntu + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl zip unzip ca-certificates git \ + && rm -rf /var/lib/apt/lists/* + +# Install SDKMAN +ENV SDKMAN_DIR=/usr/local/sdkman +RUN curl -s "https://get.sdkman.io" | bash + +# Install Java, Gradle, Maven (all in one layer) +RUN bash -lc "source $SDKMAN_DIR/bin/sdkman-init.sh && \ + sdk install java 17.0.10-tem && \ + sdk install gradle 8.14 && \ + sdk install maven 3.9.9 && \ + sdk default java 17.0.10-tem && \ + sdk default gradle 8.14 && \ + sdk default maven 3.9.9" + +# Ensure vscode user can read SDKMAN files (vscode exists in base image) +RUN chown -R 1000:1000 $SDKMAN_DIR || true + +# Expose tools to PATH for non-interactive shells +ENV PATH="$SDKMAN_DIR/candidates/java/current/bin:\ +$SDKMAN_DIR/candidates/gradle/current/bin:\ +$SDKMAN_DIR/candidates/maven/current/bin:$PATH" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..b38e871 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,20 @@ +{ + "name": "PKIE Java Dev Container", + "build": { + "dockerfile": "Dockerfile" + }, + "customizations": { + "vscode": { + "extensions": [ + "vscjava.vscode-java-pack", + "vscjava.vscode-gradle", + "redhat.java" + ] + } + }, + "remoteUser": "vscode", + "mounts": [ + "source=maven-repo,target=/home/vscode/.m2,type=volume" + ], + "postStartCommand": "bash -lc 'sudo chown -R $(id -u):$(id -g) /home/vscode/.m2 || true'" +} diff --git a/.gitignore b/.gitignore index a7c9658..23473c6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ gradle.properties .vscode/settings.json gradle/wrapper/gradle-wrapper.jar gradle/wrapper/gradle-wrapper.properties +gradlew +gradlew.bat diff --git a/.sdkmanrc b/.sdkmanrc new file mode 100644 index 0000000..d41b3c3 --- /dev/null +++ b/.sdkmanrc @@ -0,0 +1,3 @@ +java=8.0.472-tem +gradle=8.14 +maven=3.9.9 \ No newline at end of file diff --git a/build.gradle b/build.gradle index 9305ab3..8581f80 100644 --- a/build.gradle +++ b/build.gradle @@ -6,19 +6,21 @@ plugins { id 'signing' } -sourceCompatibility = JavaVersion.VERSION_1_7 -targetCompatibility = JavaVersion.VERSION_1_7 +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 group = 'com.lacunasoftware.pkiexpress' archivesBaseName = 'pki-express' -version = '1.22.2' +version = '1.23.2' repositories { + mavenLocal() mavenCentral() } dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.2' + implementation 'com.lacunasoftware.pkiexpress:pki-express:1.23.2' } java { @@ -26,6 +28,10 @@ java { withSourcesJar() } +javadoc { + dependsOn jar +} + sourceSets { main.java.srcDirs = ['src/main/java'] } @@ -68,6 +74,11 @@ publishing { id = 'danielr' name = 'Daniel Rufino' email = 'danielr@lacunasoftware.com' + } + developer { + id = 'eduardof' + name = 'Eduardo Ferreira' + email = 'eduardof@lacunasoftware.com' } } } @@ -75,10 +86,10 @@ publishing { repositories { maven { url = determineRepositoryUrl() - credentials { - username ossrhUsername - password ossrhPassword - } + // credentials { + // username ossrhUsername + // password ossrhPassword + // } } } } @@ -92,7 +103,7 @@ def determineRepositoryUrl() { } } -signing { - sign publishing.publications.mavenJava - sign configurations.archives -} \ No newline at end of file +// signing { +// sign publishing.publications.mavenJava +// sign configurations.archives +// } \ No newline at end of file