Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,10 @@ docker run -ti --rm \
|---------------------|-------------------------------------|
|--------JAVA---------|-------------------------------------|
| `sdk` |`<https://get.sdkman.io>` |
| `java` |`<8.0.402-tem via sdkman>` |
| `java` |`<11.0.22-tem via sdkman>` |
| `java` |`<17.0.10-tem via sdkman>/default` |
| `java` |`<21.0.2-tem via sdkman>` |
| `java` |`<8.0.432-tem via sdkman>` |
| `java` |`<11.0.25-tem via sdkman>` |
| `java` |`<17.0.13-tem via sdkman>/default` |
| `java` |`<21.0.5-tem via sdkman>` |
| `maven` |`<via sdkman>` |
| `gradle` |`<via sdkman>` |
| `mandrel` |`<22.1.2.r21-mandrel via sdkman>` |
Expand Down
22 changes: 11 additions & 11 deletions universal/ubi8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ RUN curl -fsSL "https://get.sdkman.io/?rcupdate=false" | bash \
&& bash -c ". /home/tooling/.sdkman/bin/sdkman-init.sh \
&& sed -i "s/sdkman_auto_answer=false/sdkman_auto_answer=true/g" /home/tooling/.sdkman/etc/config \
&& sed -i "s/sdkman_auto_env=false/sdkman_auto_env=true/g" /home/tooling/.sdkman/etc/config \
&& sdk install java 8.0.402-tem \
&& sdk install java 11.0.22-tem \
&& sdk install java 17.0.10-tem \
&& sdk install java 21.0.2-tem \
&& sdk install java 23.1.2.r21-mandrel \
&& sdk default java 17.0.10-tem \
&& sdk install java 8.0.432-tem \
&& sdk install java 11.0.25-tem \
&& sdk install java 17.0.13-tem \
&& sdk install java 21.0.5-tem \
&& sdk install java 23.1.5.r21-mandrel \
&& sdk default java 17.0.13-tem \
&& sdk install gradle \
&& sdk install maven \
&& sdk install jbang \
Expand All @@ -47,10 +47,10 @@ RUN curl -fsSL "https://get.sdkman.io/?rcupdate=false" | bash \
&& chgrp -R 0 /home/tooling && chmod -R g=u /home/tooling

# sdk home java <version>
ENV JAVA_HOME_8=/home/tooling/.sdkman/candidates/java/8.0.402-tem
ENV JAVA_HOME_11=/home/tooling/.sdkman/candidates/java/11.0.22-tem
ENV JAVA_HOME_17=/home/tooling/.sdkman/candidates/java/17.0.10-tem
ENV JAVA_HOME_21=/home/tooling/.sdkman/candidates/java/21.0.2-tem
ENV JAVA_HOME_8=/home/tooling/.sdkman/candidates/java/8.0.432-tem
ENV JAVA_HOME_11=/home/tooling/.sdkman/candidates/java/11.0.25-tem
ENV JAVA_HOME_17=/home/tooling/.sdkman/candidates/java/17.0.13-tem
ENV JAVA_HOME_21=/home/tooling/.sdkman/candidates/java/21.0.5-tem

# Java-related environment variables are described and set by ${PROFILE_EXT}, which will be loaded by ~/.bashrc
# To make Java working for dash and other shells, it needs to initialize them in the Dockerfile.
Expand All @@ -64,7 +64,7 @@ ENV GRADLE_HOME="/home/tooling/.sdkman/candidates/gradle/current"
ENV JAVA_HOME="/home/tooling/.sdkman/candidates/java/current"
ENV MAVEN_HOME="/home/tooling/.sdkman/candidates/maven/current"

ENV GRAALVM_HOME=/home/tooling/.sdkman/candidates/java/23.1.2.r21-mandrel
ENV GRAALVM_HOME=/home/tooling/.sdkman/candidates/java/23.1.5.r21-mandrel

ENV PATH="/home/tooling/.krew/bin:$PATH"
ENV PATH="/home/tooling/.sdkman/candidates/maven/current/bin:$PATH"
Expand Down
26 changes: 26 additions & 0 deletions universal/ubi8/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,32 @@ mountpoint -q /home/user/; HOME_USER_MOUNTED=$?
STOW_COMPLETE=/home/user/.stow_completed

if [ $HOME_USER_MOUNTED -eq 0 ] && [ ! -f $STOW_COMPLETE ]; then
# There may be regular, non-symlink files in /home/user that match the
# pathing of files in /home/tooling. Stow will error out when it tries to
# stow on top of that. Instead, we can append to the current
# /home/tooling/.stow-local-ignore file to ignore pre-existing,
# non-symlinked files in /home/user that match those in /home/tooling before
# we run stow.
#
# Create two text files containing a sorted path-based list of files in
# /home/tooling and /home/user. Cut off "/home/user" and "/home/tooling" and
# only get the sub-paths so we can do a proper comparison
#
# In the case of /home/user, we want regular file types and not symbolic
# links.
find /home/user -type f -xtype f -print | sort | sed 's|/home/user||g' > /tmp/user.txt
find /home/tooling -print | sort | sed 's|/home/tooling||g' > /tmp/tooling.txt
# We compare the two files, trying to find files that exist in /home/user
# and /home/tooling. Being that the files that get flagged here are not
# already synlinks, we will want to ignore them.
IGNORE_FILES="$(comm -12 /tmp/user.txt /tmp/tooling.txt)"
# We no longer require the file lists, so remove them
rm /tmp/user.txt /tmp/tooling.txt
# For each file we need to ignore, append them to
# /home/tooling/.stow-local-ignore.
for f in $IGNORE_FILES; do echo "${f}" >> /home/tooling/.stow-local-ignore;done
# We are now ready to run stow
#
# Create symbolic links from /home/tooling/ -> /home/user/
stow . -t /home/user/ -d /home/tooling/ --no-folding -v 2 > /tmp/stow.log 2>&1
# Vim does not permit .viminfo to be a symbolic link for security reasons, so manually copy it
Expand Down
22 changes: 11 additions & 11 deletions universal/ubi9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ RUN curl -fsSL "https://get.sdkman.io/?rcupdate=false" | bash \
&& bash -c ". /home/tooling/.sdkman/bin/sdkman-init.sh \
&& sed -i "s/sdkman_auto_answer=false/sdkman_auto_answer=true/g" /home/tooling/.sdkman/etc/config \
&& sed -i "s/sdkman_auto_env=false/sdkman_auto_env=true/g" /home/tooling/.sdkman/etc/config \
&& sdk install java 8.0.402-tem \
&& sdk install java 11.0.22-tem \
&& sdk install java 17.0.10-tem \
&& sdk install java 21.0.2-tem \
&& sdk install java 23.1.2.r21-mandrel \
&& sdk default java 17.0.10-tem \
&& sdk install java 8.0.432-tem \
&& sdk install java 11.0.25-tem \
&& sdk install java 17.0.13-tem \
&& sdk install java 21.0.5-tem \
&& sdk install java 23.1.5.r21-mandrel \
&& sdk default java 17.0.13-tem \
&& sdk install gradle \
&& sdk install maven \
&& sdk install jbang \
Expand All @@ -47,10 +47,10 @@ RUN curl -fsSL "https://get.sdkman.io/?rcupdate=false" | bash \
&& chgrp -R 0 /home/tooling && chmod -R g=u /home/tooling

# sdk home java <version>
ENV JAVA_HOME_8=/home/tooling/.sdkman/candidates/java/8.0.402-tem
ENV JAVA_HOME_11=/home/tooling/.sdkman/candidates/java/11.0.22-tem
ENV JAVA_HOME_17=/home/tooling/.sdkman/candidates/java/17.0.10-tem
ENV JAVA_HOME_21=/home/tooling/.sdkman/candidates/java/21.0.2-tem
ENV JAVA_HOME_8=/home/tooling/.sdkman/candidates/java/8.0.432-tem
ENV JAVA_HOME_11=/home/tooling/.sdkman/candidates/java/11.0.25-tem
ENV JAVA_HOME_17=/home/tooling/.sdkman/candidates/java/17.0.13-tem
ENV JAVA_HOME_21=/home/tooling/.sdkman/candidates/java/21.0.5-tem

# Java-related environment variables are described and set by ${PROFILE_EXT}, which will be loaded by ~/.bashrc
# To make Java working for dash and other shells, it needs to initialize them in the Dockerfile.
Expand All @@ -64,7 +64,7 @@ ENV GRADLE_HOME="/home/tooling/.sdkman/candidates/gradle/current"
ENV JAVA_HOME="/home/tooling/.sdkman/candidates/java/current"
ENV MAVEN_HOME="/home/tooling/.sdkman/candidates/maven/current"

ENV GRAALVM_HOME=/home/tooling/.sdkman/candidates/java/23.1.2.r21-mandrel
ENV GRAALVM_HOME=/home/tooling/.sdkman/candidates/java/23.1.5.r21-mandrel

ENV PATH="/home/tooling/.krew/bin:$PATH"
ENV PATH="/home/tooling/.sdkman/candidates/maven/current/bin:$PATH"
Expand Down
26 changes: 26 additions & 0 deletions universal/ubi9/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,32 @@ mountpoint -q /home/user/; HOME_USER_MOUNTED=$?
STOW_COMPLETE=/home/user/.stow_completed

if [ $HOME_USER_MOUNTED -eq 0 ] && [ ! -f $STOW_COMPLETE ]; then
# There may be regular, non-symlink files in /home/user that match the
# pathing of files in /home/tooling. Stow will error out when it tries to
# stow on top of that. Instead, we can append to the current
# /home/tooling/.stow-local-ignore file to ignore pre-existing,
# non-symlinked files in /home/user that match those in /home/tooling before
# we run stow.
#
# Create two text files containing a sorted path-based list of files in
# /home/tooling and /home/user. Cut off "/home/user" and "/home/tooling" and
# only get the sub-paths so we can do a proper comparison
#
# In the case of /home/user, we want regular file types and not symbolic
# links.
find /home/user -type f -xtype f -print | sort | sed 's|/home/user||g' > /tmp/user.txt
find /home/tooling -print | sort | sed 's|/home/tooling||g' > /tmp/tooling.txt
# We compare the two files, trying to find files that exist in /home/user
# and /home/tooling. Being that the files that get flagged here are not
# already synlinks, we will want to ignore them.
IGNORE_FILES="$(comm -12 /tmp/user.txt /tmp/tooling.txt)"
# We no longer require the file lists, so remove them
rm /tmp/user.txt /tmp/tooling.txt
# For each file we need to ignore, append them to
# /home/tooling/.stow-local-ignore.
for f in $IGNORE_FILES; do echo "${f}" >> /home/tooling/.stow-local-ignore;done
# We are now ready to run stow
#
# Create symbolic links from /home/tooling/ -> /home/user/
stow . -t /home/user/ -d /home/tooling/ --no-folding -v 2 > /tmp/stow.log 2>&1
# Vim does not permit .viminfo to be a symbolic link for security reasons, so manually copy it
Expand Down