From 2e1ed4d4abb5710553747b8cce90f18b7ee7a2b7 Mon Sep 17 00:00:00 2001
From: brutzman <brutzman@nps.edu>
Date: Sun, 19 Dec 2021 21:10:42 -0800
Subject: [PATCH] explicit location of stylesheet.dir, avoid mysterious
 exception by setting dummy values to ParameterPair1, 2, 3

---
 build.xml | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/build.xml b/build.xml
index 2cbc5646f7..b05bcb13e8 100644
--- a/build.xml
+++ b/build.xml
@@ -66,7 +66,7 @@ POSSIBILITY OF SUCH DAMAGE.
     <property name="fork"                      value="true"/>
     
     <!-- https://ant.apache.org/manual/Tasks/exec.html -->
-    <property name="timeout="                  value="600000" description="600000 msec = 10 min"/>
+    <property name="timeout"                   value="600000" description="600000 msec = 10 min"/>
 
     <!-- ignoreSetupDownloadErrors can be overridden by Jenkins configuration, ensure initialized by previous invocations -->
     <property name="ignoreSetupDownloadErrors" value="true"/>
@@ -117,7 +117,7 @@ POSSIBILITY OF SUCH DAMAGE.
     <property name="log4j.dir"           value="../../../tools/canonical/lib"/>
     <property name="log4j.jar"           value="log4j-1.2.15.jar"/>
 
-    <property name="stylesheet.dir"      value="../../../stylesheets"/>
+    <property name="stylesheet.dir"   location="../../../stylesheets"/>
     <property name="local.dir"        location="."/>
 	
     <!-- ensure backwards compatibility to specified version of Java -->
@@ -159,6 +159,8 @@ POSSIBILITY OF SUCH DAMAGE.
     <!--            xml.catalog.dir is found in ${X3dDtdsSchemas.dir} -->
     <property name="xml.catalog.file" value="OasisXmlCatalogX3D.xml"/>
     
+    <property name=   "python" value="python" description="local executable"/>
+    
     <property name=   "node.exe" value="node.exe"/>
     
     <!-- ======================================== -->
@@ -356,12 +358,13 @@ Key references:
 		<!-- https:///www.saxonica.com/html/documentation/configuration/config-features.html -->
         <attribute name="expand" default="off"/> <!-- https://www.saxonica.com/html/documentation/configuration/config-features.html -->
         <!-- parameterPair1 must have a legal value or saxon fails mysteriously while running under jenkins! java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -->
-        <attribute name="parameterPair1" default=""/>
-        <attribute name="parameterPair2" default=""/>
-        <attribute name="parameterPair3" default=""/>
+        <!-- parameterPair1,2,3 must have some kind of string under Java 17 and saxon10 java.lang.StringIndexOutOfBoundsException: String index out of range: 0 -->
+        <attribute name="parameterPair1" default="dummy1=0"/>
+        <attribute name="parameterPair2" default="dummy2=0"/>
+        <attribute name="parameterPair3" default="dummy3=0"/>
         <sequential>
             <!--
-			<echo message="Saxon10 processing @{scene}@{suffix}.@{extension} using @{stylesheet}, -catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/>
+			<echo message="Saxon10 processing @{scene}@{suffix}.@{extension} using @{stylesheet}.xslt, -catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/>
 			<echo message="... -expand:'@{expand}' parameterPair1='@{parameterPair1}' parameterPair2='@{parameterPair2}' parameterPair3='@{parameterPair3}'"/>
             -->
 			<java classname="net.sf.saxon.Transform"
@@ -392,7 +395,7 @@ Key references:
 				<arg value="-xsl:@{stylesheet}.xslt"/>  <!-- regular stylesheet -->
 				<arg value="-dtd:off"/>                 <!-- DTD validation (on|off|recover); suppress creation of default DTD values, only use values in document -->
 				<arg value="-expand:@{expand}"/>        <!-- whether to expand (i.e. add) DTD default values (on|off) -->
-                <arg value="-catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/> 
+                                <arg value="-catalog:${X3dDtdsSchemas.dir}/${xml.catalog.file}"/> 
 				<arg value="@{parameterPair1}"/>        <!-- parameter=value passed to stylesheet -->
 				<arg value="@{parameterPair2}"/>
 				<arg value="@{parameterPair3}"/>
@@ -4331,7 +4334,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
 
     <target name="processScenes.python" description="generate python source, run validation test" depends="clean.RoundTrip">
         <!-- show python versions -->
-        <exec executable="python"  dir="." vmlauncher="false">
+        <exec executable="${python}"  dir="." vmlauncher="false">
             <arg value="--version"/>
         </exec>
         <!--
@@ -4431,7 +4434,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
                             <else>
                                 <echo message="validate python:"/>
                             <!--<echo message="PYTHONPATH=${env.PYTHONPATH}"/>-->
-                                <exec executable="python"  dir="." vmlauncher="false" timeout="${timeout}">
+                                <exec executable="${python}"  dir="." vmlauncher="false" timeout="${timeout}">
                                     <env key="PYTHONPATH" value="${env.PYTHONPATH}"/>
                                     <arg value="${relative.path1}/${relative.path2}/${name.short}.py"/> <!-- output-doc -->
                                     <arg value="-v"/><!-- verbose -->
@@ -4706,7 +4709,7 @@ app.replica.args=-mode scene -mipmaps -antialias 8 -anisotropicDegree 16 -verbos
             <arg value="-version"/>
         </exec>
         <echo>python -version</echo>
-        <exec executable="python"  dir="." vmlauncher="false">
+        <exec executable="${python}"  dir="." vmlauncher="false">
             <arg value="--version"/>
         </exec>
         <!-- https://www.saxonica.com/documentation9.5/using-xsl/commandline.html -->
-- 
GitLab