Skip to content

Commit 7d18a3c

Browse files
committed
Add 'Module Info DSL' examples
1 parent 25151f5 commit 7d18a3c

File tree

54 files changed

+568
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+568
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
plugins {
2+
id("org.example.java-module-app")
3+
}
4+
5+
application {
6+
applicationDefaultJvmArgs = listOf("-ea")
7+
mainClass.set("org.example.app.App")
8+
mainModule.set("org.example.app")
9+
}
10+
11+
mainModuleInfo {
12+
runtimeOnly("org.slf4j.simple")
13+
}
14+
15+
testModuleInfo {
16+
requires("org.junit.jupiter.api")
17+
}
18+
19+
moduleInfo {
20+
version("org.slf4j", "2.0.7")
21+
version("org.slf4j.simple", "2.0.7")
22+
version("com.fasterxml.jackson.databind", "2.14.0")
23+
version("org.junit.jupiter.api", "5.9.3")
24+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module org.example.app {
2+
requires org.example.lib;
3+
requires org.slf4j;
4+
5+
exports org.example.app;
6+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.example.app;
2+
3+
import org.example.lib.Lib;
4+
import org.slf4j.LoggerFactory;
5+
6+
public class App {
7+
8+
public static void main(String[] args) {
9+
LoggerFactory.getLogger(App.class).info("App running...");
10+
doWork();
11+
}
12+
13+
public static void doWork() {
14+
new Lib();
15+
}
16+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.example.app;
2+
3+
import org.example.lib.Lib;
4+
import org.junit.jupiter.api.Test;
5+
6+
import java.io.IOException;
7+
import java.io.InputStream;
8+
9+
import static java.nio.charset.StandardCharsets.UTF_8;
10+
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
import static org.junit.jupiter.api.Assertions.assertNotNull;
12+
13+
public class AppTest {
14+
15+
@Test
16+
public void testApp() throws IOException {
17+
assertEquals("org.example.lib", Lib.class.getModule().getName());
18+
assertEquals("org.example.app", App.class.getModule().getName());
19+
assertEquals("org.example.app", AppTest.class.getModule().getName());
20+
try (InputStream is = AppTest.class.getResourceAsStream("/data.txt")) {
21+
assertNotNull(is);
22+
assertEquals("ABC", new String(is.readAllBytes(), UTF_8));
23+
}
24+
}
25+
26+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ABC
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
open module org.example.app.test.functional {
2+
requires org.example.app;
3+
requires org.junit.jupiter.api;
4+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.example.app.test;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.example.app.App;
5+
6+
import java.io.IOException;
7+
import java.io.InputStream;
8+
9+
import static java.nio.charset.StandardCharsets.UTF_8;
10+
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
import static org.junit.jupiter.api.Assertions.assertNotNull;
12+
13+
public class AppFunctionalTest {
14+
15+
@Test
16+
void testAppFunctional() throws IOException {
17+
assertEquals("org.example.app", App.class.getModule().getName());
18+
assertEquals("org.example.app.test.functional", AppFunctionalTest.class.getModule().getName());
19+
try (InputStream is = AppFunctionalTest.class.getResourceAsStream("/data.txt")) {
20+
assertNotNull(is);
21+
assertEquals("DEF", new String(is.readAllBytes(), UTF_8));
22+
}
23+
}
24+
25+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DEF
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
plugins {
2+
id("org.example.root")
3+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
> Task :lib:compileJava
2+
> Task :lib:processResources NO-SOURCE
3+
> Task :lib:classes
4+
> Task :lib:jar
5+
> Task :app:compileJava
6+
> Task :app:processResources NO-SOURCE
7+
> Task :app:classes
8+
> Task :app:jar
9+
> Task :app:startScripts
10+
> Task :app:distTar
11+
> Task :app:distZip
12+
> Task :app:assemble
13+
> Task :app:compileTestJava
14+
> Task :app:processTestResources
15+
> Task :app:testClasses
16+
> Task :app:test
17+
> Task :app:compileTestFunctionalJava
18+
> Task :app:processTestFunctionalResources
19+
> Task :app:testFunctionalClasses
20+
> Task :app:testFunctionalJar
21+
> Task :app:testFunctional
22+
> Task :app:check
23+
> Task :app:build
24+
> Task :lib:assemble
25+
> Task :lib:compileTestJava
26+
> Task :lib:processTestResources
27+
> Task :lib:testClasses
28+
> Task :lib:test
29+
> Task :lib:compileTestFunctionalJava
30+
> Task :lib:processTestFunctionalResources
31+
> Task :lib:testFunctionalClasses
32+
> Task :lib:testFunctionalJar
33+
> Task :lib:testFunctional
34+
> Task :lib:check
35+
> Task :lib:build
36+
37+
> Task :app:run
38+
[main] INFO org.example.app.App - App running...

0 commit comments

Comments
 (0)