Skip to content

Commit 50f3b76

Browse files
committed
Add initial all-Oracle variants (oraclelinux + jdk.java.net tarballs)
1 parent ea58310 commit 50f3b76

File tree

19 files changed

+299
-56
lines changed

19 files changed

+299
-56
lines changed

.travis.yml

+4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ language: bash
22
services: docker
33

44
env:
5+
- VERSION=12 VARIANT=oracle
6+
- VERSION=12 VARIANT=alpine
7+
- VERSION=11 VARIANT=oracle
58
- VERSION=11
69
- VERSION=11 VARIANT=slim
10+
- VERSION=10 VARIANT=oracle
711
- VERSION=10
812
- VERSION=10 VARIANT=slim
913
- VERSION=8

10/jdk/oracle/Dockerfile

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM oraclelinux:7-slim
2+
3+
RUN set -eux; \
4+
yum install -y \
5+
gzip \
6+
tar \
7+
; \
8+
rm -rf /var/cache/yum
9+
10+
# Default to UTF-8 file.encoding
11+
#ENV LANG C.UTF-8
12+
# TODO oraclelinux doesn't have C.UTF-8 by default??
13+
14+
# http://jdk.java.net/
15+
ENV JAVA_VERSION 10.0.2
16+
ENV JAVA_URL https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz
17+
ENV JAVA_SHA256 f3b26abc9990a0b8929781310e14a339a7542adfd6596afb842fa0dd7e3848b2
18+
19+
ENV JAVA_HOME /usr/java/jdk-$JAVA_VERSION
20+
ENV PATH $JAVA_HOME/bin:$PATH
21+
22+
RUN set -eux; \
23+
\
24+
curl -fL -o /openjdk.tgz "$JAVA_URL"; \
25+
echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
26+
javaHomeDir="$(dirname "$JAVA_HOME")"; \
27+
mkdir -p "$javaHomeDir"; \
28+
tar --extract --file /openjdk.tgz --directory "$javaHomeDir"; \
29+
[ -d "$JAVA_HOME" ]; \
30+
rm /openjdk.tgz; \
31+
\
32+
# https://github.com/oracle/docker-images/blob/a56e0d1ed968ff669d2e2ba8a1483d0f3acc80c0/OracleJava/java-8/Dockerfile#L17-L19
33+
ln -sfT "$JAVA_HOME" /usr/java/default; \
34+
ln -sfT "$JAVA_HOME" /usr/java/latest; \
35+
for bin in "$JAVA_HOME/bin/"*; do \
36+
base="$(basename "$bin")"; \
37+
[ ! -e "/usr/bin/$base" ]; \
38+
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
39+
done; \
40+
\
41+
# https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840
42+
# http://openjdk.java.net/jeps/341
43+
java -Xshare:dump; \
44+
\
45+
# basic smoke test
46+
java --version; \
47+
javac --version
48+
49+
# https://docs.oracle.com/javase/10/tools/jshell.htm
50+
# https://docs.oracle.com/javase/10/jshell/
51+
# https://en.wikipedia.org/wiki/JShell
52+
CMD ["jshell"]

10/jdk/windows/nanoserver-sac2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
4747
; \
4848
\
4949
Write-Host 'Verifying install ...'; \
50-
Write-Host ' java -version'; java -version; \
51-
Write-Host ' javac -version'; javac -version; \
50+
Write-Host ' java --version'; java --version; \
51+
Write-Host ' javac --version'; javac --version; \
5252
\
5353
Write-Host 'Removing ...'; \
5454
Remove-Item ojdkbuild.zip -Force; \

10/jdk/windows/windowsservercore-1709/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
3535
; \
3636
\
3737
Write-Host 'Verifying install ...'; \
38-
Write-Host ' java -version'; java -version; \
39-
Write-Host ' javac -version'; javac -version; \
38+
Write-Host ' java --version'; java --version; \
39+
Write-Host ' javac --version'; javac --version; \
4040
\
4141
Write-Host 'Removing ...'; \
4242
Remove-Item ojdkbuild.zip -Force; \

10/jdk/windows/windowsservercore-ltsc2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
3535
; \
3636
\
3737
Write-Host 'Verifying install ...'; \
38-
Write-Host ' java -version'; java -version; \
39-
Write-Host ' javac -version'; javac -version; \
38+
Write-Host ' java --version'; java --version; \
39+
Write-Host ' javac --version'; javac --version; \
4040
\
4141
Write-Host 'Removing ...'; \
4242
Remove-Item ojdkbuild.zip -Force; \

11/jdk/oracle/Dockerfile

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM oraclelinux:7-slim
2+
3+
RUN set -eux; \
4+
yum install -y \
5+
gzip \
6+
tar \
7+
; \
8+
rm -rf /var/cache/yum
9+
10+
# Default to UTF-8 file.encoding
11+
#ENV LANG C.UTF-8
12+
# TODO oraclelinux doesn't have C.UTF-8 by default??
13+
14+
ENV JAVA_HOME /usr/java/jdk-11
15+
ENV PATH $JAVA_HOME/bin:$PATH
16+
17+
# http://jdk.java.net/
18+
ENV JAVA_VERSION 11-ea+28
19+
ENV JAVA_URL https://download.java.net/java/early_access/jdk11/28/GPL/openjdk-11+28_linux-x64_bin.tar.gz
20+
ENV JAVA_SHA256 3784cfc4670f0d4c5482604c7c513beb1a92b005f569df9bf100e8bef6610f2e
21+
22+
RUN set -eux; \
23+
\
24+
curl -fL -o /openjdk.tgz "$JAVA_URL"; \
25+
echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
26+
javaHomeDir="$(dirname "$JAVA_HOME")"; \
27+
mkdir -p "$javaHomeDir"; \
28+
tar --extract --file /openjdk.tgz --directory "$javaHomeDir"; \
29+
[ -d "$JAVA_HOME" ]; \
30+
rm /openjdk.tgz; \
31+
\
32+
# https://github.com/oracle/docker-images/blob/a56e0d1ed968ff669d2e2ba8a1483d0f3acc80c0/OracleJava/java-8/Dockerfile#L17-L19
33+
ln -sfT "$JAVA_HOME" /usr/java/default; \
34+
ln -sfT "$JAVA_HOME" /usr/java/latest; \
35+
for bin in "$JAVA_HOME/bin/"*; do \
36+
base="$(basename "$bin")"; \
37+
[ ! -e "/usr/bin/$base" ]; \
38+
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
39+
done; \
40+
\
41+
# https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840
42+
# http://openjdk.java.net/jeps/341
43+
java -Xshare:dump; \
44+
\
45+
# basic smoke test
46+
java --version; \
47+
javac --version
48+
49+
# https://docs.oracle.com/javase/10/tools/jshell.htm
50+
# https://docs.oracle.com/javase/10/jshell/
51+
# https://en.wikipedia.org/wiki/JShell
52+
CMD ["jshell"]

11/jdk/windows/windowsservercore-1709/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

11/jdk/windows/windowsservercore-1803/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

11/jdk/windows/windowsservercore-ltsc2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

12/jdk/alpine/Dockerfile

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM alpine:3.8
2+
3+
ENV JAVA_HOME /opt/jdk-12
4+
ENV PATH $JAVA_HOME/bin:$PATH
5+
6+
# http://jdk.java.net/
7+
ENV JAVA_VERSION 12-ea+12
8+
ENV JAVA_URL https://download.java.net/java/early_access/alpine/12/binaries/openjdk-12-ea+12_linux-x64-musl_bin.tar.gz
9+
ENV JAVA_SHA256 36729ff2deec675c87fefbee47b805ad1555192f424ca4debeb81f30eb1bf587
10+
# "For Alpine Linux, builds are produced on a reduced schedule and may not be in sync with the other platforms."
11+
12+
RUN set -eux; \
13+
\
14+
wget -O /openjdk.tgz "$JAVA_URL"; \
15+
echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
16+
javaHomeDir="$(dirname "$JAVA_HOME")"; \
17+
mkdir -p "$javaHomeDir"; \
18+
tar --extract --file /openjdk.tgz --directory "$javaHomeDir"; \
19+
[ -d "$JAVA_HOME" ]; \
20+
rm /openjdk.tgz; \
21+
\
22+
# https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840
23+
# http://openjdk.java.net/jeps/341
24+
java -Xshare:dump; \
25+
\
26+
# basic smoke test
27+
java --version; \
28+
javac --version
29+
30+
# https://docs.oracle.com/javase/10/tools/jshell.htm
31+
# https://docs.oracle.com/javase/10/jshell/
32+
# https://en.wikipedia.org/wiki/JShell
33+
CMD ["jshell"]

12/jdk/oracle/Dockerfile

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM oraclelinux:7-slim
2+
3+
RUN set -eux; \
4+
yum install -y \
5+
gzip \
6+
tar \
7+
; \
8+
rm -rf /var/cache/yum
9+
10+
# Default to UTF-8 file.encoding
11+
#ENV LANG C.UTF-8
12+
# TODO oraclelinux doesn't have C.UTF-8 by default??
13+
14+
ENV JAVA_HOME /usr/java/jdk-12
15+
ENV PATH $JAVA_HOME/bin:$PATH
16+
17+
# http://jdk.java.net/
18+
ENV JAVA_VERSION 12-ea+12
19+
ENV JAVA_URL https://download.java.net/java/early_access/jdk12/12/GPL/openjdk-12-ea+12_linux-x64_bin.tar.gz
20+
ENV JAVA_SHA256 7cf6802479fe3a884642250640938e8ee9d4ce61c517779921ecbe04fe491456
21+
22+
RUN set -eux; \
23+
\
24+
curl -fL -o /openjdk.tgz "$JAVA_URL"; \
25+
echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
26+
javaHomeDir="$(dirname "$JAVA_HOME")"; \
27+
mkdir -p "$javaHomeDir"; \
28+
tar --extract --file /openjdk.tgz --directory "$javaHomeDir"; \
29+
[ -d "$JAVA_HOME" ]; \
30+
rm /openjdk.tgz; \
31+
\
32+
# https://github.com/oracle/docker-images/blob/a56e0d1ed968ff669d2e2ba8a1483d0f3acc80c0/OracleJava/java-8/Dockerfile#L17-L19
33+
ln -sfT "$JAVA_HOME" /usr/java/default; \
34+
ln -sfT "$JAVA_HOME" /usr/java/latest; \
35+
for bin in "$JAVA_HOME/bin/"*; do \
36+
base="$(basename "$bin")"; \
37+
[ ! -e "/usr/bin/$base" ]; \
38+
alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
39+
done; \
40+
\
41+
# https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840
42+
# http://openjdk.java.net/jeps/341
43+
java -Xshare:dump; \
44+
\
45+
# basic smoke test
46+
java --version; \
47+
javac --version
48+
49+
# https://docs.oracle.com/javase/10/tools/jshell.htm
50+
# https://docs.oracle.com/javase/10/jshell/
51+
# https://en.wikipedia.org/wiki/JShell
52+
CMD ["jshell"]

12/jdk/windows/windowsservercore-1709/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

12/jdk/windows/windowsservercore-1803/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

12/jdk/windows/windowsservercore-ltsc2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \
2727
Expand-Archive openjdk.zip -DestinationPath C:\; \
2828
\
2929
Write-Host 'Verifying install ...'; \
30-
Write-Host ' java -version'; java -version; \
31-
Write-Host ' javac -version'; javac -version; \
30+
Write-Host ' java --version'; java --version; \
31+
Write-Host ' javac --version'; javac --version; \
3232
\
3333
Write-Host 'Removing ...'; \
3434
Remove-Item openjdk.zip -Force; \

8/jdk/windows/nanoserver-sac2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
4747
; \
4848
\
4949
Write-Host 'Verifying install ...'; \
50-
Write-Host ' java -version'; java -version; \
51-
Write-Host ' javac -version'; javac -version; \
50+
Write-Host ' java --version'; java --version; \
51+
Write-Host ' javac --version'; javac --version; \
5252
\
5353
Write-Host 'Removing ...'; \
5454
Remove-Item ojdkbuild.zip -Force; \

8/jdk/windows/windowsservercore-1709/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
3535
; \
3636
\
3737
Write-Host 'Verifying install ...'; \
38-
Write-Host ' java -version'; java -version; \
39-
Write-Host ' javac -version'; javac -version; \
38+
Write-Host ' java --version'; java --version; \
39+
Write-Host ' javac --version'; javac --version; \
4040
\
4141
Write-Host 'Removing ...'; \
4242
Remove-Item ojdkbuild.zip -Force; \

8/jdk/windows/windowsservercore-ltsc2016/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ RUN $url = ('https://github.com/ojdkbuild/ojdkbuild/releases/download/{0}/{1}' -
3535
; \
3636
\
3737
Write-Host 'Verifying install ...'; \
38-
Write-Host ' java -version'; java -version; \
39-
Write-Host ' javac -version'; javac -version; \
38+
Write-Host ' java --version'; java --version; \
39+
Write-Host ' javac --version'; javac --version; \
4040
\
4141
Write-Host 'Removing ...'; \
4242
Remove-Item ojdkbuild.zip -Force; \

generate-stackbrew-library.sh

+21-10
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ aliases() {
124124
for javaVersion in "${versions[@]}"; do
125125
for javaType in jdk jre; do
126126
for v in \
127-
'' slim alpine \
127+
oracle '' slim alpine \
128128
windows/windowsservercore-{ltsc2016,1709,1803} \
129129
windows/nanoserver-{sac2016,1709,1803} \
130130
; do
@@ -137,13 +137,23 @@ for javaVersion in "${versions[@]}"; do
137137

138138
fullVersion="$(git show "$commit":"$dir/Dockerfile" | awk '$1 == "ENV" && $2 == "JAVA_VERSION" { gsub(/[~+]/, "-", $3); print $3; exit }')"
139139

140-
case "$v" in
141-
windows/*) variantArches='windows-amd64' ;;
142-
*)
143-
variantParent="$(awk 'toupper($1) == "FROM" { print $2 }' "$dir/Dockerfile")"
144-
variantArches="${parentRepoToArches[$variantParent]}"
145-
;;
146-
esac
140+
variantArches=
141+
if [ "$javaVersion" -ge 10 ]; then
142+
# http://jdk.java.net/10/, http://jdk.java.net/11/, http://jdk.java.net/12/, ...
143+
# (no arches except amd64 supported)
144+
case "$v" in
145+
oracle|alpine) variantArches='amd64' ;;
146+
esac
147+
fi
148+
if [ -z "$variantArches" ]; then
149+
case "$v" in
150+
windows/*) variantArches='windows-amd64' ;;
151+
*)
152+
variantParent="$(awk 'toupper($1) == "FROM" { print $2 }' "$dir/Dockerfile")"
153+
variantArches="${parentRepoToArches[$variantParent]}"
154+
;;
155+
esac
156+
fi
147157

148158
sharedTags=()
149159
for windowsShared in windowsservercore nanoserver; do
@@ -160,8 +170,9 @@ for javaVersion in "${versions[@]}"; do
160170
case /^microsoft\//:
161171
$2 = ""
162172
break
163-
case /^alpine:/:
173+
case /^(alpine|oraclelinux):/:
164174
gsub(/:/, "", $2) # "alpine3.7", "alpine3.6", etc
175+
gsub(/-slim$/, "", $2) # "oraclelinux:7-slim"
165176
break
166177
default:
167178
gsub(/^[^:]+:/, "", $2) # peel off "debian:", "buildpack-deps:", etc
@@ -175,7 +186,7 @@ for javaVersion in "${versions[@]}"; do
175186
}
176187
END {
177188
if (fromTag) {
178-
if (variant && fromTag !~ /^alpine/) {
189+
if (variant && fromTag !~ /^(alpine|oraclelinux)/) {
179190
# "slim-stretch", "slim-jessie", etc
180191
printf "%s-", variant
181192
}

0 commit comments

Comments
 (0)