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(",");

Reply via email to