From d3b94d2711796333456dc34a56d50ece6cf03f15 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 1 Aug 2026 11:09:23 +0100 Subject: Require langs config --- .../java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java | 2 +- .../compiler/output/generators/java/JavaGeneratorConfig.java | 5 ++--- .../javapreciselymatchers/JavaPreciselyMatchersGenerator.java | 2 +- .../output/generators/javatransient0/JavaTransient0Generator.java | 2 +- .../compiler/output/generators/javatypes/JavaTypesGenerator.java | 2 +- .../compiler/output/generators/rust/RustGeneratorConfig.java | 4 ++-- .../output/generators/rusttransient0/RustTransient0Generator.java | 2 +- .../compiler/output/generators/rusttypes/RustTypesGenerator.java | 2 +- 8 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java index 38d8119..2373626 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java @@ -34,7 +34,7 @@ public record ProjectConfig( private static ProjectConfig fromJson5(Path projectRoot, Json5ObjectReader document) { var outputsJson = document.getObject("outputs"); var generatorsJson = outputsJson.getArrayOfObjects("generators"); - var langsJson = outputsJson.getObjectOrNone("langs"); + var langsJson = outputsJson.getObject("langs"); var outputs = new ArrayList(); for (var generatorJson : generatorsJson) { diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java index 1d570e8..e1be9e6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java @@ -14,9 +14,8 @@ public record JavaGeneratorConfig( Map namespaceConfigs, Map nativeTypeConfigs ) { - public static JavaGeneratorConfig parseLangsConfig(Optional langsJson) { - // TODO: better error if missing - var output = langsJson.orElseThrow().getObject("java"); + public static JavaGeneratorConfig parseLangsConfig(Json5ObjectReader langsJson) { + var output = langsJson.getObject("java"); var packageName = output.getString("packageName").value(); var namespaceConfigs = parseNamespaceConfigs(output); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java index 1069f4a..7aa0ae1 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java @@ -25,7 +25,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index e27c606..2dff24b 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -31,7 +31,7 @@ public class JavaTransient0Generator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java index e1aca6d..ff9bcd4 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java @@ -29,7 +29,7 @@ public class JavaTypesGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader generatorJson, - Optional langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = generatorJson.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java index 3f5e4d5..4c64601 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java @@ -14,8 +14,8 @@ import java.util.Optional; public record RustGeneratorConfig( Map nativeTypeConfigs ) { - public static RustGeneratorConfig parseLangsConfig(Optional langsJson) { - var output = langsJson.flatMap(json -> json.getObjectOrNone("rust")); + public static RustGeneratorConfig parseLangsConfig(Json5ObjectReader langsJson) { + var output = langsJson.getObjectOrNone("rust"); if (output.isEmpty()) { return new RustGeneratorConfig(DEFAULT_NATIVE_TYPE_CONFIGS); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java index 2f07f54..83ad2fe 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java @@ -34,7 +34,7 @@ public class RustTransient0Generator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader output, - Optional langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = output.getString("path").value(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java index c1c895b..c39e9a3 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java @@ -25,7 +25,7 @@ public class RustTypesGenerator implements Generator { public static OutputConfig parseGeneratorConfig( Path projectRoot, Json5ObjectReader output, - Optional langsJson + Json5ObjectReader langsJson ) { return () -> { var relativeOutputPath = output.getString("path").value(); -- cgit v1.2.3