mirror of
https://github.com/ethauvin/bld.git
synced 2025-04-27 08:48:13 -07:00
Added functional tests for jlink and jmod
This commit is contained in:
parent
b94b23af56
commit
0204cdff19
18 changed files with 200 additions and 10 deletions
2
src/test/resources/jlink/.gitignore
vendored
Normal file
2
src/test/resources/jlink/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
build/javac
|
||||
build/jar
|
40
src/test/resources/jlink/Makefile
Normal file
40
src/test/resources/jlink/Makefile
Normal file
|
@ -0,0 +1,40 @@
|
|||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf build
|
||||
|
||||
.PHONY: compile
|
||||
compile: clean
|
||||
javac -d build/javac --module-source-path "./*/src" --module dev.mccue.tree,dev.mccue.apple
|
||||
|
||||
.PHONY: package
|
||||
package: compile
|
||||
mkdir -p build/jar
|
||||
|
||||
jar --create --file build/jar/dev.mccue.apple.jar \
|
||||
-C build/javac/dev.mccue.apple . \
|
||||
-C dev.mccue.apple/res .
|
||||
jar --create --file build/jar/dev.mccue.tree.jar \
|
||||
-C build/javac/dev.mccue.tree .
|
||||
|
||||
.PHONY: link
|
||||
link: package
|
||||
mkdir -p build/jmod
|
||||
|
||||
jmod create \
|
||||
--legal-notices dev.mccue.apple/legal \
|
||||
--class-path build/jar/dev.mccue.apple.jar \
|
||||
build/jmod/dev.mccue.apple.jmod
|
||||
|
||||
jmod create \
|
||||
--class-path build/jar/dev.mccue.tree.jar \
|
||||
build/jmod/dev.mccue.tree.jmod
|
||||
|
||||
jlink \
|
||||
--module-path build/jmod \
|
||||
--add-modules dev.mccue.tree \
|
||||
--launcher tree=dev.mccue.tree/dev.mccue.tree.Tree \
|
||||
--output build/jlink
|
||||
|
||||
.PHONY: test
|
||||
test: link
|
||||
./build/jlink/bin/tree
|
11
src/test/resources/jlink/dev.mccue.apple/dev.mccue.apple.iml
Normal file
11
src/test/resources/jlink/dev.mccue.apple/dev.mccue.apple.iml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
1
src/test/resources/jlink/dev.mccue.apple/legal/LICENSE
Normal file
1
src/test/resources/jlink/dev.mccue.apple/legal/LICENSE
Normal file
|
@ -0,0 +1 @@
|
|||
Apples are GOD'S creation. You have no right to them.
|
|
@ -0,0 +1 @@
|
|||
red
|
|
@ -0,0 +1,20 @@
|
|||
package dev.mccue.apple;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.util.Objects;
|
||||
|
||||
public final class Apple {
|
||||
public String color() {
|
||||
try {
|
||||
return new String(
|
||||
Objects.requireNonNull(
|
||||
Apple.class.getResourceAsStream("/dev/mccue/apple/color.txt")
|
||||
).readAllBytes()
|
||||
);
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
module dev.mccue.apple {
|
||||
exports dev.mccue.apple;
|
||||
}
|
12
src/test/resources/jlink/dev.mccue.tree/dev.mccue.tree.iml
Normal file
12
src/test/resources/jlink/dev.mccue.tree/dev.mccue.tree.iml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="dev.mccue.apple" />
|
||||
</component>
|
||||
</module>
|
|
@ -0,0 +1,15 @@
|
|||
package dev.mccue.tree;
|
||||
|
||||
import dev.mccue.apple.Apple;
|
||||
|
||||
public final class Tree {
|
||||
public Apple bearFruit() {
|
||||
return new Apple();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(
|
||||
new Tree().bearFruit().color()
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
module dev.mccue.tree {
|
||||
requires dev.mccue.apple;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue