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 <[email protected]>
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(",");