diff --git a/BauSystem/BauSystem_Main/build.gradle.kts b/BauSystem/BauSystem_Main/build.gradle.kts index 4f3955ed..b1834ce8 100644 --- a/BauSystem/BauSystem_Main/build.gradle.kts +++ b/BauSystem/BauSystem_Main/build.gradle.kts @@ -27,6 +27,7 @@ version = "" tasks.compileJava { options.encoding = "UTF-8" + options.isWarnings = false } java { diff --git a/CommonCore/Linkage/src/de/steamwar/linkage/LinkageProcessor.java b/CommonCore/Linkage/src/de/steamwar/linkage/LinkageProcessor.java index 7dfee243..06c76bc5 100644 --- a/CommonCore/Linkage/src/de/steamwar/linkage/LinkageProcessor.java +++ b/CommonCore/Linkage/src/de/steamwar/linkage/LinkageProcessor.java @@ -45,6 +45,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.*; import java.util.function.Consumer; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -114,6 +115,14 @@ public class LinkageProcessor extends AbstractProcessor { .forEach(disabledFeatures::add); } + private File getFile(File file, Predicate predicate) { + while (file != null) { + if (predicate.test(file)) return file; + file = file.getParentFile(); + } + return null; + } + @SneakyThrows @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { @@ -121,14 +130,9 @@ public class LinkageProcessor extends AbstractProcessor { processed = true; URI uri = processingEnv.getFiler().createResource(StandardLocation.SOURCE_OUTPUT, "", ".ignore").toUri(); - File file = new File(uri.toString().substring(7)).getParentFile(); - do { - if (!file.getName().contains("_") && new File(file, "build.gradle.kts").exists()) { - break; - } - file = file.getParentFile(); - if (file == null) return false; - } while (true); + File file = getFile(new File(uri.toString().substring(7)), f -> { + return !f.getName().contains("_") && new File(f, "build.gradle.kts").exists(); + }); name = file.getName().replaceAll("[^a-zA-Z]", "").toLowerCase(); mainClass(file);