diff options
| author | Tristan Partin <tristan@partin.io> | 2022-03-01 12:05:28 -0600 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2022-03-22 13:21:26 +0200 |
| commit | 39f1d52e4a82cc75a4a3a41c3cc17fe2dabdb30b (patch) | |
| tree | ec8855a6f7ea0c937736f366258ae8ca2629ea9d /test cases/java | |
| parent | a559dbe70d113ebaa9bab406e371e54251d66e71 (diff) | |
| download | meson-39f1d52e4a82cc75a4a3a41c3cc17fe2dabdb30b.tar.gz | |
Add ability to add resources to jars
Previously Meson lacked the ability to add resources to jar files.
Fixes #9945
Diffstat (limited to 'test cases/java')
5 files changed, 48 insertions, 0 deletions
diff --git a/test cases/java/10 resources/meson.build b/test cases/java/10 resources/meson.build new file mode 100644 index 000000000..3b872195b --- /dev/null +++ b/test cases/java/10 resources/meson.build @@ -0,0 +1,7 @@ +project('resources', ['java']) + +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: only valid on backends which support jar()') +endif + +subdir('src') diff --git a/test cases/java/10 resources/src/com/mesonbuild/Resources.java b/test cases/java/10 resources/src/com/mesonbuild/Resources.java new file mode 100644 index 000000000..de1b7d6c7 --- /dev/null +++ b/test cases/java/10 resources/src/com/mesonbuild/Resources.java @@ -0,0 +1,26 @@ +package com.mesonbuild; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; + +public class Resources { + public static void main(String[] args) throws IOException { + try (InputStreamReader reader = new InputStreamReader( + Resources.class.getResourceAsStream("/resource1.txt"), + StandardCharsets.UTF_8)) { + final BufferedReader buffered = new BufferedReader(reader); + + assert buffered.readLine() == "1"; + } + + try (InputStreamReader reader = new InputStreamReader( + Resources.class.getResourceAsStream("/subdir/resource2.txt"), + StandardCharsets.UTF_8)) { + final BufferedReader buffered = new BufferedReader(reader); + + assert buffered.readLine() == "2"; + } + } +} diff --git a/test cases/java/10 resources/src/meson.build b/test cases/java/10 resources/src/meson.build new file mode 100644 index 000000000..51f7d7543 --- /dev/null +++ b/test cases/java/10 resources/src/meson.build @@ -0,0 +1,13 @@ +sources = files('com/mesonbuild/Resources.java') + +resources = jar( + meson.project_name(), + sources, + main_class: 'com.mesonbuild.Resources', + java_resources: structured_sources( + files('resources/resource1.txt'), + { + 'subdir': files('resources/subdir/resource2.txt'), + } + ) +) diff --git a/test cases/java/10 resources/src/resources/resource1.txt b/test cases/java/10 resources/src/resources/resource1.txt new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/test cases/java/10 resources/src/resources/resource1.txt @@ -0,0 +1 @@ +1 diff --git a/test cases/java/10 resources/src/resources/subdir/resource2.txt b/test cases/java/10 resources/src/resources/subdir/resource2.txt new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/test cases/java/10 resources/src/resources/subdir/resource2.txt @@ -0,0 +1 @@ +2 |
