@@ -4,42 +4,39 @@ ENV JAVA_HOME=/opt/java/openjdk
44COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME
55ENV PATH="${JAVA_HOME}/bin:${PATH}"
66
7- ENV LEIN_VERSION=2.12 .0
7+ ENV LEIN_VERSION=2.13 .0
88ENV LEIN_INSTALL=/usr/local/bin/
99
1010WORKDIR /tmp
1111
12- # Download the whole repo as an archive
12+ # No standalone uberjar is published for this version, so build it from source.
13+ # Verify Leiningen's GPG-signed release tag, then bootstrap leiningen-core's
14+ # dependencies with Maven and run `lein uberjar`.
1315RUN set -eux; \
1416apt-get update && \
15- apt-get install -y make gnupg wget && \
17+ apt-get install -y make maven git gnupg && \
1618rm -rf /var/lib/apt/lists/* && \
17- mkdir -p $LEIN_INSTALL && \
18- wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
19- echo "Comparing lein-pkg checksum ..." && \
20- sha256sum lein-pkg && \
21- echo "12a9c5e3a2471619ca3d64a7462f920fdf713ae8959eb4fcd6257c23332b5aa4 *lein-pkg" | sha256sum -c - && \
22- mv lein-pkg $LEIN_INSTALL/lein && \
23- chmod 0755 $LEIN_INSTALL/lein && \
2419export GNUPGHOME="$(mktemp -d)" && \
25- export FILENAME_EXT=jar && \
20+ export LEIN_ROOT=1 && \
21+ mkdir -p $LEIN_INSTALL /usr/share/java /root/.lein && \
2622gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
27- wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
28- wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
29- echo "Verifying file PGP signature..." && \
30- gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
23+ git clone --depth 1 --branch $LEIN_VERSION https://codeberg.org/leiningen/leiningen.git && \
24+ cd leiningen && \
25+ git verify-tag $LEIN_VERSION && \
26+ ( cd leiningen-core && mvn -B -q -DskipTests install && mvn -B -q dependency:build-classpath -Dmdep.outputFile=.lein-bootstrap ) && \
27+ bin/lein uberjar && \
28+ install -m 0644 target/leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
29+ install -m 0755 bin/lein-pkg $LEIN_INSTALL/lein && \
3130gpgconf --kill all && \
32- rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
33- mkdir -p /usr/share/java && \
34- mkdir -p /root/.lein && \
35- mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
36- apt-get purge -y --auto-remove gnupg wget
31+ cd /tmp && \
32+ rm -rf /tmp/leiningen /root/.m2 "$GNUPGHOME" && \
33+ apt-get purge -y --auto-remove maven git gnupg
3734
3835ENV PATH=$PATH:$LEIN_INSTALL
39- ENV LEIN_ROOT 1
36+ ENV LEIN_ROOT= 1
4037
41- # Install clojure 1.12.1 so users don't have to download it every time
42- RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.1 "]])' > project.clj \
38+ # Install clojure 1.12.5 so users don't have to download it every time
39+ RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.5 "]])' > project.clj \
4340 && lein deps && rm project.clj
4441
4542COPY entrypoint /usr/local/bin/entrypoint
0 commit comments