This is an automated email from the ASF dual-hosted git repository. ardovm pushed a commit to branch scons-build in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/scons-build by this push: new c76036f Improve gotoSCons (self-)documentation. c76036f is described below commit c76036ff1ec3c641ba1aca6833a0cb3a98eda21d Author: Arrigo Marchiori <ard...@yahoo.it> AuthorDate: Sat Sep 11 15:42:12 2021 +0200 Improve gotoSCons (self-)documentation. Add Javadoc build output and describe how to use it in README.txt Rename method targets.BaseTarget.parseCall() to make more clear (IMHO) its purpose. --- gotoSCons/README.txt | 8 +++ gotoSCons/pom.xml | 8 +++ .../apache/openoffice/gotoSCons/GBuildParser.java | 7 ++ .../apache/openoffice/gotoSCons/raw/ListNode.java | 1 + .../org/apache/openoffice/gotoSCons/raw/Node.java | 1 + .../gotoSCons/targets/AllLangResTarget.java | 2 +- .../openoffice/gotoSCons/targets/AntTarget.java | 2 +- .../openoffice/gotoSCons/targets/BaseTarget.java | 19 +++++- .../openoffice/gotoSCons/targets/Executable.java | 2 +- .../openoffice/gotoSCons/targets/GoogleTest.java | 2 +- .../openoffice/gotoSCons/targets/JunitTest.java | 2 +- .../openoffice/gotoSCons/targets/Library.java | 2 +- .../openoffice/gotoSCons/targets/Module.java | 78 ++++++++++++---------- .../apache/openoffice/gotoSCons/targets/Pkg.java | 2 +- .../openoffice/gotoSCons/targets/Repository.java | 2 +- .../gotoSCons/targets/StaticLibrary.java | 2 +- .../openoffice/gotoSCons/targets/ZipTarget.java | 2 +- 17 files changed, 93 insertions(+), 49 deletions(-) diff --git a/gotoSCons/README.txt b/gotoSCons/README.txt index 2c4ec31..02fcaa9 100644 --- a/gotoSCons/README.txt +++ b/gotoSCons/README.txt @@ -14,6 +14,14 @@ $ cd gotoSCons $ java -jar target/gotoSCons-0.1-SNAPSHOT.jar parsingAnalysis ../main +Javadoc +======= +$ cd gotoSCons +$ mvn javadoc:javadoc + +Open target/site/apidocs/index.html. + + Other sources of information ============================ Check the following threads on the dev@ mailing list: diff --git a/gotoSCons/pom.xml b/gotoSCons/pom.xml index 7dba53c..c9182c4 100644 --- a/gotoSCons/pom.xml +++ b/gotoSCons/pom.xml @@ -27,6 +27,14 @@ </archive> </configuration> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.3.1</version> + <configuration> + <show>private</show> + </configuration> + </plugin> </plugins> </build> <name>gotoSCons</name> diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/GBuildParser.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/GBuildParser.java index d35ffe2..2c0216a 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/GBuildParser.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/GBuildParser.java @@ -29,8 +29,15 @@ import org.apache.openoffice.gotoSCons.raw.ListNode; import org.apache.openoffice.gotoSCons.raw.Node; import org.apache.openoffice.gotoSCons.raw.ValueNode; +/** Parser of gbuild files. */ public class GBuildParser { + /** Parses a gbuild file. + * + * @param reader object to read the gbuild file's contents. + * + * @throws Exception in case of problems in the input. + */ public ListNode parse(BufferedReader reader) throws Exception { String fullLine = ""; String line; diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/ListNode.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/ListNode.java index 8eef65b..bd41630 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/ListNode.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/ListNode.java @@ -23,6 +23,7 @@ package org.apache.openoffice.gotoSCons.raw; import java.util.Arrays; +/** Node that consists of a list of Node's */ public class ListNode extends Node { public Node[] children; diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/Node.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/Node.java index d9b62d1..852b89f 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/Node.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/raw/Node.java @@ -21,6 +21,7 @@ package org.apache.openoffice.gotoSCons.raw; +/** Output of the parsing. */ public abstract class Node { public final void dump() { dump(""); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AllLangResTarget.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AllLangResTarget.java index 36e8e58..489da2a 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AllLangResTarget.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AllLangResTarget.java @@ -220,7 +220,7 @@ public class AllLangResTarget extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AntTarget.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AntTarget.java index 29d0e44..6c29038 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AntTarget.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/AntTarget.java @@ -38,7 +38,7 @@ public class AntTarget extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/BaseTarget.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/BaseTarget.java index 72a1e06..fc36ac7 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/BaseTarget.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/BaseTarget.java @@ -26,8 +26,15 @@ import org.apache.openoffice.gotoSCons.raw.ListNode; import org.apache.openoffice.gotoSCons.raw.Node; import org.apache.openoffice.gotoSCons.raw.ValueNode; +/** The base class for all targets */ public abstract class BaseTarget { + /** Parse the contents of a gbuild file. + * + * @param root root node representing the gbuild file. + * + * @throws Exception in case of problems. + */ protected void parse(ListNode root) throws Exception { for (Node child : root.children) { if (child instanceof FunctionNode) { @@ -46,11 +53,15 @@ public abstract class BaseTarget { } } + /** Parse an eval expression. + * + * @throws Exception if the expression is not recognized. + */ protected void parseEval(FunctionNode functionNode) throws Exception { if (functionNode.child instanceof FunctionNode) { FunctionNode nestedFunction = (FunctionNode)functionNode.child; if (nestedFunction.function.equals("call")) { - parseCall(nestedFunction.child); + parseEvalCall(nestedFunction.child); } else { throw new Exception("eval's nested function isn't \"call\" but \"" + functionNode.function + "\""); } @@ -59,5 +70,9 @@ public abstract class BaseTarget { } } - abstract protected void parseCall(Node child) throws Exception; + /** Parse a call expression found inside an eval expression. + * + * @param child node representing the function to call. + */ + abstract protected void parseEvalCall(Node child) throws Exception; } diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Executable.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Executable.java index 3897442..caf12d0 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Executable.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Executable.java @@ -50,7 +50,7 @@ public class Executable extends BaseBinary { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/GoogleTest.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/GoogleTest.java index 07cce28..cb4cba9 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/GoogleTest.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/GoogleTest.java @@ -45,7 +45,7 @@ public class GoogleTest extends BaseBinary { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/JunitTest.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/JunitTest.java index 871233d..47c1f85 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/JunitTest.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/JunitTest.java @@ -42,7 +42,7 @@ public class JunitTest extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Library.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Library.java index bd20fe8..d3521e3 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Library.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Library.java @@ -48,7 +48,7 @@ public class Library extends BaseBinary { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Module.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Module.java index 05f13a0..23aadda 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Module.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Module.java @@ -61,7 +61,7 @@ public class Module extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); @@ -104,43 +104,47 @@ public class Module extends BaseTarget { } for (String arg : Utils.spaceSeparatedTokens(args[1])) { File makefile = new File(filename.getParentFile(), arg + ".mk"); - if (arg.startsWith("AllLangResTarget_")) { - AllLangResTarget allLangResTarget = new AllLangResTarget(makefile); - if (allLangResTargets.put(arg, allLangResTarget) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else if (arg.startsWith("Executable_")) { - Executable exe = new Executable(makefile); - if (executables.put(arg, exe) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else if (arg.startsWith("Library_")) { - Library library = new Library(makefile); - if (libraries.put(arg, library) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else if (arg.startsWith("StaticLibrary_")) { - StaticLibrary staticLibrary = new StaticLibrary(makefile); - if (staticLibraries.put(arg, staticLibrary) != null) { - throw new Exception("Duplicate add of target " + arg); + try { + if (arg.startsWith("AllLangResTarget_")) { + AllLangResTarget allLangResTarget = new AllLangResTarget(makefile); + if (allLangResTargets.put(arg, allLangResTarget) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("Executable_")) { + Executable exe = new Executable(makefile); + if (executables.put(arg, exe) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("Library_")) { + Library library = new Library(makefile); + if (libraries.put(arg, library) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("StaticLibrary_")) { + StaticLibrary staticLibrary = new StaticLibrary(makefile); + if (staticLibraries.put(arg, staticLibrary) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("Ant_")) { + AntTarget antTarget = new AntTarget(makefile); + if (antTargets.put(arg, antTarget) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("Zip_")) { + ZipTarget zipTarget = new ZipTarget(makefile); + if (zipTargets.put(arg, zipTarget) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else if (arg.startsWith("Package_")) { + Pkg pkg = new Pkg(makefile); + if (packages.put(arg, pkg) != null) { + throw new Exception("Duplicate add of target " + arg); + } + } else { + throw new Exception("Unsupported target " + arg); } - } else if (arg.startsWith("Ant_")) { - AntTarget antTarget = new AntTarget(makefile); - if (antTargets.put(arg, antTarget) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else if (arg.startsWith("Zip_")) { - ZipTarget zipTarget = new ZipTarget(makefile); - if (zipTargets.put(arg, zipTarget) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else if (arg.startsWith("Package_")) { - Pkg pkg = new Pkg(makefile); - if (packages.put(arg, pkg) != null) { - throw new Exception("Duplicate add of target " + arg); - } - } else { - throw new Exception("Unsupported target " + arg); + } catch (Exception ex) { + throw new Exception(makefile.getPath() + ":" + ex.getMessage()); } } } diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Pkg.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Pkg.java index 6807767..195b973 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Pkg.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Pkg.java @@ -51,7 +51,7 @@ public class Pkg extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Repository.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Repository.java index dd31e3c..b8bcf23 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Repository.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/Repository.java @@ -53,7 +53,7 @@ public class Repository extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/StaticLibrary.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/StaticLibrary.java index 0f77cb0..839354c 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/StaticLibrary.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/StaticLibrary.java @@ -45,7 +45,7 @@ public class StaticLibrary extends BaseBinary { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(","); diff --git a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/ZipTarget.java b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/ZipTarget.java index 68835de..6268f93 100644 --- a/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/ZipTarget.java +++ b/gotoSCons/src/main/java/org/apache/openoffice/gotoSCons/targets/ZipTarget.java @@ -40,7 +40,7 @@ public class ZipTarget extends BaseTarget { } @Override - protected void parseCall(Node argsNode) throws Exception { + protected void parseEvalCall(Node argsNode) throws Exception { if (argsNode instanceof ValueNode) { String value = ((ValueNode)argsNode).value; String[] tokens = value.split(",");