diff --git a/platform_build/build-generator.xml b/platform_build/build-generator.xml
index c3a0c2cf..8d42a35a 100644
--- a/platform_build/build-generator.xml
+++ b/platform_build/build-generator.xml
@@ -88,7 +88,7 @@
-
+
@@ -111,8 +111,8 @@
-
-
+
+
@@ -129,7 +129,7 @@
-
+
@@ -170,7 +170,7 @@
-
+
@@ -193,7 +193,7 @@
-
+
@@ -241,7 +241,7 @@
-
+
@@ -264,7 +264,7 @@
-
+
diff --git a/src/java/org/lwjgl/LWJGLUtil.java b/src/java/org/lwjgl/LWJGLUtil.java
index a7698302..5476c1d2 100644
--- a/src/java/org/lwjgl/LWJGLUtil.java
+++ b/src/java/org/lwjgl/LWJGLUtil.java
@@ -518,7 +518,7 @@ public class LWJGLUtil {
return path;
});
} catch (PrivilegedActionException e) {
- logger().log("Failed to locate findLibrary method", e.getCause());
+ logger().log(() -> "Failed to locate findLibrary method on " + clazz, e.getCause());
c = c.getSuperclass();
}
}
diff --git a/src/java/org/lwjgl/util/generator/GeneratorVisitor.java b/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
index 822ce485..2b49f77a 100644
--- a/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
+++ b/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
@@ -331,25 +331,8 @@ public class GeneratorVisitor extends ElementKindVisitor6 {
throw new RuntimeException("Failed to generate the Java sources for " + e, ex);
}
- String qualified_interface_name = Utils.getQualifiedClassName(e);
- final Path output = Path.of(this.gen_path + "/" + qualified_interface_name.replace('.', '/') + ".java");
- String newStr = java_writer.toString();
- try {
- if (isFileExistingAndIdentical(output, newStr)) {
- return DEFAULT_VALUE;
- }
- Files.createDirectories(output.getParent());
- Files.createFile(output);
- } catch (IOException ex) {
- throw new RuntimeException("Failed to create the output file for " + e, ex);
- }
- //try (Writer java_file_writer = env.getFiler().createSourceFile(Utils.getQualifiedClassName(e), env.getElementUtils().getPackageOf(e)).openWriter()) {
- try (Writer java_file_writer = new FileWriter(output.toFile())) {
- java_file_writer.write(newStr);
- env.getMessager().printMessage(Diagnostic.Kind.NOTE, "Generated class " + qualified_interface_name);
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
+ saveGeneratedJavaSource(e, java_writer);
+
if (methods.size() > 0) {
boolean noNative = true;
for (ExecutableElement method : methods) {
@@ -372,6 +355,32 @@ public class GeneratorVisitor extends ElementKindVisitor6 {
return DEFAULT_VALUE;
}
+ private void saveGeneratedJavaSource(TypeElement e, StringWriter java_writer) {
+ String qualified_interface_name = Utils.getQualifiedClassName(e);
+ final Path output = Path.of(this.gen_path + "/" + qualified_interface_name.replace('.', '/') + ".java");
+ String newStr = java_writer.toString();
+ saveGeneratedSource(qualified_interface_name, output, newStr);
+ }
+
+ private void saveGeneratedSource(String name, Path output, String newStr) {
+ try {
+ if (isFileExistingAndIdentical(output, newStr)) {
+ return;
+ }
+ Files.createDirectories(output.getParent());
+ Files.createFile(output);
+ } catch (IOException ex) {
+ throw new RuntimeException("Failed to create the output file for " + name, ex);
+ }
+ //try (Writer java_file_writer = env.getFiler().createSourceFile(Utils.getQualifiedClassName(e), env.getElementUtils().getPackageOf(e)).openWriter()) {
+ try (Writer java_file_writer = new FileWriter(output.toFile())) {
+ java_file_writer.write(newStr);
+ env.getMessager().printMessage(Diagnostic.Kind.NOTE, "Generated class " + name);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
private static ByteBuffer readFile(final File file) throws IOException {
final FileChannel channel = new FileInputStream(file).getChannel();