Description
There is a bug in build.sh while building phoenix website, when JAVA_HOME is not set. The script prints the error, but thereafter continues and eventually succeeds rather than exiting at the point with error.
In the following case, it ended up removing the contents of datatypes.html, functions.html and index.html:
:~/oss/phoenix_website/phoenix$ echo $JAVA_HOME :~/oss/phoenix_website/phoenix$ ./build.sh Generate Phoenix Website BUILDING LANGUAGE REFERENCE =========================== Error: JAVA_HOME is not defined. ./build.sh: line 12: /bin/javac: No such file or directory ./build.sh: line 13: /bin/java: No such file or directory BUILDING SITE =========================== [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for org.apache.phoenix:phoenix-site:jar:4.3.1 [WARNING] Reporting configuration should be done in <reporting> section, not in maven-site-plugin <configuration> as reportPlugins parameter. @ line 52, column 23 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ------------------< org.apache.phoenix:phoenix-site >------------------- [INFO] Building Phoenix 4.3.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix-site --- [INFO] [INFO] --- maven-site-plugin:3.3:site (default-site) @ phoenix-site --- [INFO] configuring report plugin org.codehaus.mojo:findbugs-maven-plugin:2.5.2 [INFO] Parent project loaded from repository: org.apache.phoenix:phoenix:pom:4.3.1 [INFO] Parent project loaded from repository: org.apache:apache:pom:14 [INFO] Relativizing decoration links with respect to project URL: http://phoenix.apache.org/ [INFO] Rendering site with lt.velykis.maven.skins:reflow-maven-skin:jar:1.1.0 skin. [INFO] [INFO] --- exec-maven-plugin:1.2.1:exec (Merge Language Reference) @ phoenix-site --- Exception in thread "main" java.io.FileNotFoundException: ../../../../../phoenix-docs/docs/html/index.html (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at mergehtml.getFileAsString(mergehtml.java:33) at mergehtml.main(mergehtml.java:15) Exception in thread "main" java.io.FileNotFoundException: ../../../../../phoenix-docs/docs/html/functions.html (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at mergehtml.getFileAsString(mergehtml.java:33) at mergehtml.main(mergehtml.java:15) Exception in thread "main" java.io.FileNotFoundException: ../../../../../phoenix-docs/docs/html/datatypes.html (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at mergehtml.getFileAsString(mergehtml.java:33) at mergehtml.main(mergehtml.java:15) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.754 s [INFO] Finished at: 2020-01-22T13:36:47-08:00 [INFO] ------------------------------------------------------------------------ Removing temp directories =========================== :~/oss/phoenix_website/phoenix$ svn st M site/publish/language/datatypes.html M site/publish/language/functions.html M site/publish/language/index.html
The fix is to check for errors from the child script phoenix-docs/build.sh before continuing.