diff --git a/src/main/java/org/jastadd/preprocessor/testing/doc/DocumentationCreator.java b/src/main/java/org/jastadd/preprocessor/testing/doc/DocumentationCreator.java index efedd7998fb33460507ee3097db1131ad1e29393..bc0ef11abd4bc2582c6cad3dd3e96e0cfe82f5ec 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/doc/DocumentationCreator.java +++ b/src/main/java/org/jastadd/preprocessor/testing/doc/DocumentationCreator.java @@ -1,9 +1,6 @@ package org.jastadd.preprocessor.testing.doc; -import org.gradle.api.tasks.Input; -import org.gradle.api.tasks.InputFiles; -import org.gradle.api.tasks.Optional; -import org.gradle.api.tasks.OutputDirectory; +import org.gradle.api.tasks.*; import org.jastadd.preprocessor.testing.plugin.JastAddConfiguration; import org.jastadd.preprocessor.testing.plugin.RagConnectConfiguration; import org.jastadd.preprocessor.testing.plugin.RelastConfiguration; @@ -22,11 +19,31 @@ import java.util.PriorityQueue; public class DocumentationCreator { private static final String HEADER = "# Configuration options\n\n"; - private static final List<Map.Entry<String, Class<?>>> entitiesToBeDocumented = new ArrayList<>() {{ - add(Map.entry("RagConnect Configuration", RagConnectConfiguration.class)); - add(Map.entry("Relast Configuration", RelastConfiguration.class)); - add(Map.entry("JastAdd Configuration", JastAddConfiguration.class)); + private static final List<Map.Entry<String, Class<?>>> entitiesToBeDocumented = new ArrayList<Map.Entry<String, Class<?>>>() {{ + add(makeMapEntry("RagConnect Configuration", RagConnectConfiguration.class)); + add(makeMapEntry("Relast Configuration", RelastConfiguration.class)); + add(makeMapEntry("JastAdd Configuration", JastAddConfiguration.class)); }}; + + private static Map.Entry<String, Class<?>> makeMapEntry(String configurationName, Class<?> configurationClass) { + return new Map.Entry<String, Class<?>>() { + @Override + public String getKey() { + return configurationName; + } + + @Override + public Class<?> getValue() { + return configurationClass; + } + + @Override + public Class<?> setValue(Class<?> o) { + throw new UnsupportedOperationException("setValue not allowed"); + } + }; + } + private static final String outputFile = "pages/docs/config.md"; public static void main(String[] args) { @@ -59,7 +76,8 @@ public class DocumentationCreator { for (Method method : entry.getValue().getMethods()) { if (method.isAnnotationPresent(Input.class) || method.isAnnotationPresent(InputFiles.class) || - method.isAnnotationPresent(OutputDirectory.class)) { + method.isAnnotationPresent(OutputDirectory.class) || + method.isAnnotationPresent(Description.class)) { String name = nameOfOption(method.getName()); String required = method.isAnnotationPresent(Optional.class) ? "No" : "Yes"; final String parameter, description; @@ -68,7 +86,7 @@ public class DocumentationCreator { if (descriptionAnnotation.skip()) { continue; } - if (descriptionAnnotation.correspondingParameter().isBlank()) { + if (descriptionAnnotation.correspondingParameter().trim().isEmpty()) { parameter = ""; } else { parameter = "`" + descriptionAnnotation.correspondingParameter() + "`"; diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java index 0f0a96685581bebf7914a065dba7f898956177a7..ca15f603e4cbe8f41486801382c14cbe0cdf7865 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java +++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java @@ -36,6 +36,8 @@ public interface JastAddConfiguration { @Internal List<String> getExtraOptions(); void setExtraOptions(List<String> extraOptions); + + @Description(value = "internal", skip = true) @Input default List<String> getExtraOptionsOrDefault() { return getExtraOptions() != null ? getExtraOptions() : Collections.emptyList(); @@ -53,13 +55,13 @@ public interface JastAddConfiguration { File getOutputDir(); void setOutputDir(File outputDir); - @Description(value = "_only used internally_", skip = true) + @Description(value = "internal", skip = true) @OutputDirectory default File getOutputDirOrDefault() { return getOutputDir() != null ? getOutputDir() : Paths.get("src", "test", "java-gen").toFile(); } - @Description(value = "_only used internally_", skip = true) + @Description(value = "internal", skip = true) @OutputDirectory default File getPackageOutputDir() { if (isSkipRun() != null && isSkipRun()) { diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java index 9aa151750f1134cb94ce8c08255a1e1bb89a92af..9d5e7dfd125b8e8ccc49cd8cb1991db7c2cf7926 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java +++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java @@ -66,6 +66,8 @@ public interface RagConnectConfiguration { @Internal List<String> getExtraOptions(); void setExtraOptions(List<String> extraOptions); + + @Description(value = "internal", skip = true) @Input default List<String> getExtraOptionsOrDefault() { return getExtraOptions() != null ? getExtraOptions() : Collections.emptyList(); diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java index 450c32dc6b0d927c89f1fc966b4a4ae72e6df539..e161903145ee3b07c94d614e06640d3b7a4f3dba 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java +++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java @@ -68,6 +68,8 @@ public interface RelastConfiguration { @Input List<String> getExtraOptions(); void setExtraOptions(List<String> extraOptions); + + @Description(value = "internal", skip = true) @Input default List<String> getExtraOptionsOrDefault() { return getExtraOptions() != null ? getExtraOptions() : Collections.emptyList(); diff --git a/src/main/resources/PreprocessorTesting.properties b/src/main/resources/PreprocessorTesting.properties index 9f19e4559d63e26a977725b8a8491e58deaa6e55..82284e0a60a8e61ec8b4563dadac383ce8c9118e 100644 --- a/src/main/resources/PreprocessorTesting.properties +++ b/src/main/resources/PreprocessorTesting.properties @@ -1,2 +1,2 @@ -#Tue Mar 08 14:00:49 CET 2022 -version=0.2.13 +#Thu Mar 10 17:44:30 CET 2022 +version=0.2.14