diff --git a/Dockerfile b/Dockerfile index ca441d4..db3fcf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,16 @@ FROM eclipse-temurin:21.0.7_6-jre-noble -RUN apt-get update && apt-get install -y unzip && apt install -y graphviz && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y libarchive-tools && apt install -y graphviz && rm -rf /var/lib/apt/lists/* COPY build/distributions/structurizr-cli.zip /tmp -RUN unzip /tmp/structurizr-cli.zip -d /usr/local/structurizr-cli && chmod +x /usr/local/structurizr-cli/structurizr.sh +ARG APPDIR=/usr/local/structurizr-cli -WORKDIR /usr/local/structurizr +RUN < + command 'git', 'describe', '--tags', '--dirty' +} + +def getTimestamp = { -> + command 'date', '--utc', '+%FT%H:%M:%SZ' +} + sourceSets.main.resources { srcDirs = ['src/main/resources'] include 'build.properties' include 'static.zip' } +processResources { + filesMatching('**/*.properties') { + filter { line -> + line.replaceAll('@BUILD_NUMBER@', getVersionName()) + .replaceAll('@BUILD_DATE@', getTimestamp()) + } + } +} + +application { + mainClass = 'com.structurizr.cli.StructurizrCliApplication' +} + jar { manifest { attributes( @@ -58,28 +94,3 @@ jar { ) } } - -task getDeps(type: Copy) { - from configurations.default - into 'build/dependencies' -} - -task buildZip(type: Zip) { - from ('build/libs/') { - include 'structurizr-cli*.jar' - into 'lib' - } - from ('build/dependencies') { - include '*.jar' - into 'lib' - } - from ('.') { - include 'README.md' - include 'docs/*' - include 'docs/images/*' - } - from ('etc') { - include 'structurizr.sh' - include 'structurizr.bat' - } -} diff --git a/etc/structurizr.bat b/etc/structurizr.bat deleted file mode 100644 index bb30dc9..0000000 --- a/etc/structurizr.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal -set SCRIPT_DIR=%~dp0 -java -cp "%SCRIPT_DIR%;%SCRIPT_DIR%\lib\*;" com.structurizr.cli.StructurizrCliApplication %* diff --git a/etc/structurizr.sh b/etc/structurizr.sh deleted file mode 100755 index cf4a5e2..0000000 --- a/etc/structurizr.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -o noclobber -o nounset -o pipefail - -# Begin with BASH_SOURCE[0] -SCRIPT_PATH="${BASH_SOURCE[0]}" -SCRIPT_DIR="$(cd -P "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd)" - -# Recursively resolve symlinks -while [[ -L "$SCRIPT_PATH" ]]; do - # Resolve the symlink to it's target path. - SCRIPT_PATH=$(readlink "$SCRIPT_PATH") - # If the target path is relative, prepend the symlink's source dir. - [[ "$SCRIPT_PATH" == /* ]] || SCRIPT_PATH="$SCRIPT_DIR/$SCRIPT_PATH" - # Update the script dir, resolving dir symlinks in the process. - SCRIPT_DIR="$(cd -P "$( dirname "$SCRIPT_PATH" )" >/dev/null 2>&1 && pwd)" -done - -java -cp "$SCRIPT_DIR:$SCRIPT_DIR"/lib/* com.structurizr.cli.StructurizrCliApplication "$@" diff --git a/src/main/java/com/structurizr/cli/util/Version.java b/src/main/java/com/structurizr/cli/util/Version.java index ecb1ea8..a0f5989 100644 --- a/src/main/java/com/structurizr/cli/util/Version.java +++ b/src/main/java/com/structurizr/cli/util/Version.java @@ -10,11 +10,9 @@ public class Version { private static final String BUILD_VERSION_KEY = "build.number"; private static final String BUILD_TIMESTAMP_KEY = "build.timestamp"; - private static final String GIT_COMMIT_KEY = "git.commit"; private static String version = ""; private static Date buildTimestamp = new Date(); - private static String gitCommit; static { try { @@ -25,7 +23,6 @@ public class Version { buildProperties.load(in); version = buildProperties.getProperty(BUILD_VERSION_KEY); buildTimestamp = format.parse(buildProperties.getProperty(BUILD_TIMESTAMP_KEY)); - gitCommit = buildProperties.getProperty(GIT_COMMIT_KEY); in.close(); } } catch (Exception e) { @@ -41,8 +38,4 @@ public Date getBuildTimestamp() { return buildTimestamp; } - public String getGitCommit() { - return gitCommit; - } - -} \ No newline at end of file +} diff --git a/src/main/resources/build.properties b/src/main/resources/build.properties index bdff667..2d8390c 100644 --- a/src/main/resources/build.properties +++ b/src/main/resources/build.properties @@ -1,2 +1,2 @@ -build.number=2023.12.29.0 -build.timestamp=2023-12-29T13:33:22Z +build.number=@BUILD_NUMBER@ +build.timestamp=@BUILD_DATE@