mirror of
https://github.com/rife2/bld
synced 2026-02-04 01:03:42 +01:00
Refactor XLint options for better handling of null/empty lists.
Some checks failed
bld-ci / build-linux (17) (push) Has been cancelled
bld-ci / build-linux (20) (push) Has been cancelled
bld-ci / build-linux (21) (push) Has been cancelled
bld-ci / build-linux (22) (push) Has been cancelled
bld-ci / build-linux (23) (push) Has been cancelled
bld-ci / build-linux (24) (push) Has been cancelled
bld-ci / build-linux (25) (push) Has been cancelled
bld-ci / build-macos (17) (push) Has been cancelled
bld-ci / build-macos (20) (push) Has been cancelled
bld-ci / build-macos (21) (push) Has been cancelled
bld-ci / build-macos (22) (push) Has been cancelled
bld-ci / build-macos (23) (push) Has been cancelled
bld-ci / build-macos (24) (push) Has been cancelled
bld-ci / build-macos (25) (push) Has been cancelled
bld-ci / build-windows (17) (push) Has been cancelled
bld-ci / build-windows (20) (push) Has been cancelled
bld-ci / build-windows (21) (push) Has been cancelled
bld-ci / build-windows (22) (push) Has been cancelled
bld-ci / build-windows (23) (push) Has been cancelled
bld-ci / build-windows (24) (push) Has been cancelled
bld-ci / build-windows (25) (push) Has been cancelled
javadocs-pages / deploy (push) Has been cancelled
Some checks failed
bld-ci / build-linux (17) (push) Has been cancelled
bld-ci / build-linux (20) (push) Has been cancelled
bld-ci / build-linux (21) (push) Has been cancelled
bld-ci / build-linux (22) (push) Has been cancelled
bld-ci / build-linux (23) (push) Has been cancelled
bld-ci / build-linux (24) (push) Has been cancelled
bld-ci / build-linux (25) (push) Has been cancelled
bld-ci / build-macos (17) (push) Has been cancelled
bld-ci / build-macos (20) (push) Has been cancelled
bld-ci / build-macos (21) (push) Has been cancelled
bld-ci / build-macos (22) (push) Has been cancelled
bld-ci / build-macos (23) (push) Has been cancelled
bld-ci / build-macos (24) (push) Has been cancelled
bld-ci / build-macos (25) (push) Has been cancelled
bld-ci / build-windows (17) (push) Has been cancelled
bld-ci / build-windows (20) (push) Has been cancelled
bld-ci / build-windows (21) (push) Has been cancelled
bld-ci / build-windows (22) (push) Has been cancelled
bld-ci / build-windows (23) (push) Has been cancelled
bld-ci / build-windows (24) (push) Has been cancelled
bld-ci / build-windows (25) (push) Has been cancelled
javadocs-pages / deploy (push) Has been cancelled
This commit is contained in:
parent
6fd3948f04
commit
737927da26
|
|
@ -13,6 +13,7 @@ import java.nio.file.Path;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static rife.bld.operations.CompileOperation.COMPILE_OPTION_MODULE_PATH;
|
||||
|
||||
|
|
@ -848,8 +849,7 @@ public class JavacOptions extends ArrayList<String> {
|
|||
* @since 2.3.1
|
||||
*/
|
||||
public JavacOptions xLint(List<XLintKey> keys) {
|
||||
add("-Xlint:" + StringUtils.join(keys, ",").replaceAll("_", "-").toLowerCase());
|
||||
return this;
|
||||
return addXLintOption(keys, "");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -868,7 +868,21 @@ public class JavacOptions extends ArrayList<String> {
|
|||
* @since 2.3.1
|
||||
*/
|
||||
public JavacOptions xLintDisable(List<XLintKey> keys) {
|
||||
add("-Xlint:-" + StringUtils.join(keys, ",-").replaceAll("_", "-").toLowerCase());
|
||||
return addXLintOption(keys, "-");
|
||||
}
|
||||
|
||||
|
||||
private JavacOptions addXLintOption(List<XLintKey> keys, String prefix) {
|
||||
if (keys == null || keys.isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
|
||||
var formattedKeys = keys.stream()
|
||||
.map(key -> prefix + key.name().replace('_', '-').toLowerCase())
|
||||
.collect(Collectors.joining(",", "-Xlint:", ""));
|
||||
|
||||
add(formattedKeys);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -781,8 +781,14 @@ class TestJavacOptions {
|
|||
List<XLintKey> emptyList = List.of();
|
||||
options.xLintDisable(emptyList);
|
||||
|
||||
assertEquals(1, options.size());
|
||||
assertEquals("-Xlint:-", options.get(0));
|
||||
assertEquals(0, options.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testXLintDisableNullList() {
|
||||
options.xLintDisable((List<XLintKey>) null);
|
||||
|
||||
assertEquals(0, options.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -829,8 +835,7 @@ class TestJavacOptions {
|
|||
List<XLintKey> emptyList = List.of();
|
||||
options.xLint(emptyList);
|
||||
|
||||
assertEquals(1, options.size());
|
||||
assertEquals("-Xlint:", options.get(0));
|
||||
assertEquals(0, options.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -852,6 +857,12 @@ class TestJavacOptions {
|
|||
assertTrue(options.contains("-Xlint:none"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testXLintNullList() {
|
||||
options.xLint((List<XLintKey>) null);
|
||||
assertEquals(0, options.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testXLintReturnsThis() {
|
||||
var result = options.xLint();
|
||||
|
|
|
|||
Loading…
Reference in a new issue