Skip to content

Commit 6f587f0

Browse files
author
Nicolai Parlog
committedApr 18, 2022
Simplify scripts to rely on correct java binary being on path
1 parent 47bdebd commit 6f587f0

File tree

8 files changed

+56
-63
lines changed

8 files changed

+56
-63
lines changed
 

‎app-cds.sh

+21-22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash
22
set -e
3-
source executables.sh
43

54
rm -rf app-cds
65
mkdir app-cds
@@ -12,63 +11,63 @@ then
1211
fi
1312

1413
printf "\n--- RUN WITHOUT CDS ---\n\n"
15-
time $java --enable-preview \
14+
time java --enable-preview \
1615
-jar target/java-x.jar
1716

1817

1918
# Since Java 12, the JDK comes with an archive of the JDK classes
2019
# and so it makes no sense to create a new one
2120
#printf "\n--- RUN WITH CDS ---\n"
22-
#printf "\n > create archive for default JDK classes\n"
23-
#sudo $java -Xshare:dump
24-
#printf "\n > use default archive\n"
25-
#time $java --enable-preview -jar target/java-x.jar
26-
#printf "\n > non-archived classes\n"
27-
#$java --enable-preview \
21+
#printf "\n#Create archive for default JDK classes\n"
22+
#sudo java -Xshare:dump
23+
#printf "\n# Use default archive\n"
24+
#time java --enable-preview -jar target/java-x.jar
25+
#printf "\n# Non-archived classes\n"
26+
#java --enable-preview \
2827
# -Xlog:class+load \
2928
# -jar target/java-x.jar \
3029
#| grep -v "shared objects file"
3130

3231

3332
printf "\n--- RUN WITH APPLICATION CDS ---\n"
34-
printf "\n > record used classes\n"
35-
$java --enable-preview \
33+
printf "\n# Record used classes\n"
34+
java --enable-preview \
3635
-XX:DumpLoadedClassList=app-cds/classes.lst \
3736
-jar target/java-x.jar
3837

39-
printf "\n > create archive for recorded classes\n"
40-
$java --enable-preview \
38+
printf "\n# Create archive for recorded classes\n"
39+
java --enable-preview \
4140
-Xshare:dump \
4241
-XX:SharedClassListFile=app-cds/classes.lst \
4342
-XX:SharedArchiveFile=app-cds/app.jsa \
4443
--class-path target/java-x.jar
4544

46-
printf "\n > use created archive\n"
47-
time $java --enable-preview \
45+
printf "\n# Use created archive\n"
46+
time java --enable-preview \
4847
-XX:SharedArchiveFile=app-cds/app.jsa \
4948
-jar target/java-x.jar \
5049

51-
printf "\n > non-archived classes\n"
52-
$java --enable-preview \
50+
printf "\n# Non-archived classes\n"
51+
java --enable-preview \
5352
-XX:SharedArchiveFile=app-cds/app.jsa \
5453
-Xlog:class+load \
5554
-jar target/java-x.jar \
5655
| grep -v "shared objects file"
5756

5857

5958
printf "\n--- RUN WITH DYNAMIC APP CDS ---\n"
60-
printf "\n > run without CDS & create archive\n"
61-
time $java --enable-preview \
59+
printf "\n# Run without CDS & create archive\n"
60+
time java --enable-preview \
6261
-XX:ArchiveClassesAtExit=app-cds/dyn.jsa \
6362
-jar target/java-x.jar
6463

65-
printf "\n > use created archive\n"
66-
time $java --enable-preview \
64+
printf "\n# Use created archive\n"
65+
time java --enable-preview \
6766
-XX:SharedArchiveFile=app-cds/dyn.jsa \
6867
-jar target/java-x.jar
6968

70-
printf "\n > non-archived classes\n"
71-
$java --enable-preview \
69+
printf "\n# Non-archived classes\n"
70+
java --enable-preview \
7271
-XX:SharedArchiveFile=app-cds/dyn.jsa \
7372
-Xlog:class+load \
7473
-jar target/java-x.jar \

‎echo

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
#!/opt/jdk-11/bin/java --source 11
1+
#!/home/nipa/.sdkman/candidates/java/current/bin/java --source 11
2+
3+
// To run this, update the path in the first line to point to your `java` binary,
4+
// then run `./echo` in your terminal. Nothing much will happen - for the full
5+
// story, run ...
6+
//
7+
// cat echo-haiku.txt | ./echo
8+
//
9+
// ... with one of the command line flags `--sort` or `..reverse`.
210

311
import java.io.BufferedReader;
412
import java.io.IOException;

‎executables.sh

-9
This file was deleted.

‎multi-release.sh

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,29 @@
11
#!/bin/bash
22
set -e
3-
source executables.sh
43

54
rm -rf target/mr
65
mkdir -p target/mr/java-8-src
76
mkdir -p target/mr/java-8
87
mkdir -p target/mr/java-9-src
98
mkdir -p target/mr/java-9
109

11-
echo "compile classes for Java 8"
10+
echo "# Compiling classes for Java 8"
1211
sed 's/VersionDependent8/VersionDependent/g' \
1312
src/main/java/org/codefx/demo/java9/internal/multi_release/VersionDependent8.java \
1413
> target/mr/java-8-src/VersionDependent.java
1514
sed 's/VersionDependent8/VersionDependent/g' \
1615
src/main/java/org/codefx/demo/java9/internal/multi_release/Main.java \
1716
> target/mr/java-8-src/Main.java
18-
$javac --release 8 -d target/mr/java-8 target/mr/java-8-src/*.java
17+
javac --release 8 -d target/mr/java-8 target/mr/java-8-src/*.java
1918

20-
echo "compile classes for Java 9"
19+
echo "# Compiling classes for Java 9"
2120
sed 's/VersionDependent9/VersionDependent/g' \
2221
src/main/java/org/codefx/demo/java9/internal/multi_release/VersionDependent9.java \
2322
> target/mr/java-9-src/VersionDependent.java
24-
$javac --release 8 -d target/mr/java-9 target/mr/java-9-src/*.java
23+
javac --release 8 -d target/mr/java-9 target/mr/java-9-src/*.java
2524

26-
echo "package"
27-
$jar --create --file target/mr/mr.jar -C target/mr/java-8 . --release 9 -C target/mr/java-9 .
25+
echo "# Packaging"
26+
jar --create --file target/mr/mr.jar -C target/mr/java-8 . --release 9 -C target/mr/java-9 .
2827

29-
echo "run with Java 8:"
30-
java -cp target/mr/mr.jar org.codefx.demo.java9.internal.multi_release.Main
31-
32-
echo "run with Java 9:"
33-
$java -cp target/mr/mr.jar org.codefx.demo.java9.internal.multi_release.Main
28+
echo "# Execute the following command with Java 8 and with Java 9+:"
29+
echo "java -cp target/mr/mr.jar org.codefx.demo.java9.internal.multi_release.Main"

‎platform-logging.sh

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,32 @@
11
#!/bin/bash
22
set -e
3-
source executables.sh
43

5-
echo " > creating clean directories"
4+
echo "# Creating clean directories"
65
rm -rf target/logging/classes
76
mkdir -p target/logging/classes
87
rm -rf target/logging/mods
98
mkdir -p target/logging/mods
109

11-
echo " > compiling and packaging logger"
10+
echo "# Compiling and packaging logger"
1211
mkdir target/logging/classes/org.codefx.demo.java9.logging
13-
$javac \
12+
javac \
1413
-d target/logging/classes/org.codefx.demo.java9.logging \
1514
src/platform_logging/java/org/codefx/demo/java9/api/platform_logging/logger/*.java
16-
$jar \
15+
jar \
1716
-c \
1817
--file target/logging/mods/org.codefx.demo.java9.logging.jar \
1918
-C target/logging/classes/org.codefx.demo.java9.logging/ .
2019

21-
echo " > compiling and packaging app"
20+
echo "# Compiling and packaging app"
2221
mkdir target/logging/classes/org.codefx.demo.java9.app
23-
$javac \
22+
javac \
2423
-d target/logging/classes/org.codefx.demo.java9.app\
2524
src/platform_logging/java/org/codefx/demo/java9/api/platform_logging/app/*.java
26-
$jar \
25+
jar \
2726
-c \
2827
--file target/logging/mods/org.codefx.demo.java9.app.jar \
2928
--main-class org.codefx.demo.java9.api.platform_logging.app.LoggingApplication \
3029
-C target/logging/classes/org.codefx.demo.java9.app/ .
3130

32-
echo " > running App"
33-
$java -verbose:gc -p target/logging/mods -m org.codefx.demo.javaX.app
31+
echo "# Running App"
32+
java -verbose:gc -p target/logging/mods -m org.codefx.demo.javaX.app

‎src/main/java/org/codefx/demo/java9/internal/multi_release/VersionDependent8.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
public class VersionDependent8 {
77

88
public String version() {
9-
return "Java 8 version";
9+
return "Java 8";
1010
}
1111

1212
}

‎src/main/java/org/codefx/demo/java9/internal/multi_release/VersionDependent9.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
public class VersionDependent9 {
77

88
public String version() {
9-
return "Java 9 version";
9+
return "Modern Java";
1010
}
1111

1212
}

‎switch-default.sh

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#!/bin/bash
2-
source executables.sh
2+
# no `set -e` to see expected errors
33

44
echo -e "\n# COMPILING WITH OLD BOOL\n"
55

66
rm -rf target/*
77
cp \
88
src/switch_default/java/org/codefx/demo/java14/lang/switch_/OldBool.java \
99
src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
10-
$javac \
10+
javac \
1111
-d target/classes \
1212
src/switch_default/java/org/codefx/demo/java14/lang/switch_/Switch.java \
1313
src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
@@ -16,13 +16,13 @@ rm src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
1616
echo -e "\n# RUNNING WITH OLD BOOL\n"
1717

1818
echo -e "# Argument: \"TRUE\""
19-
$java \
19+
java \
2020
-cp target/classes \
2121
--enable-preview \
2222
org.codefx.demo.java14.lang.switch_.Switch \
2323
TRUE
2424
echo -e "# Argument: \"FILE_NOT_FOUND\""
25-
$java \
25+
java \
2626
-cp target/classes \
2727
--enable-preview \
2828
org.codefx.demo.java14.lang.switch_.Switch \
@@ -33,21 +33,21 @@ echo -e "\n# REPLACING OLD WITH NEW BOOL\n"
3333
cp \
3434
src/switch_default/java/org/codefx/demo/java14/lang/switch_/NewBool.java \
3535
src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
36-
$javac \
36+
javac \
3737
-d target/classes \
3838
src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
3939
rm src/switch_default/java/org/codefx/demo/java14/lang/switch_/Bool.java
4040

4141
echo -e "# RUNNING WITH NEW BOOL\n"
4242

4343
echo -e "# Argument: \"TRUE\""
44-
$java \
44+
java \
4545
-cp target/classes \
4646
--enable-preview \
4747
org.codefx.demo.java14.lang.switch_.Switch \
4848
TRUE
4949
echo -e "# Argument: \"FILE_NOT_FOUND\""
50-
$java \
50+
java \
5151
-cp target/classes \
5252
--enable-preview \
5353
org.codefx.demo.java14.lang.switch_.Switch \

0 commit comments

Comments
 (0)