[x3d-public] No Nashorn in X3DJSAIL jars. Hmm. Maybe I forgot what target to use?

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Wed Sep 26 16:09:38 PDT 2018


[weekly telcon minutes regarding x3djsail/nashorn]

Thank you for upgrading to Ant 1.10.5.

As discussed, I found three separate nashorn directories on my system (no doubt failed testing) and deleted the two extras.  Still there: stylesheets/java/nashorn.

Then upgraded subversion to head, in order to match your updates.

Then looked at X3DJSAIL .jar and confirmed (as expected) that nashorn was not present, as you have reported.

... extensive debugging together...

OK looks like all your nashorn work is again running without exception on my machine.  changes so far are checked in.

a few more cleanups to go, hopefully will be able to deploy update tonight.

On 9/26/2018 7:48 AM, John Carlson wrote:
> Ok, despite the additional complications, I was able to check out the full X3DJSAIL jar after installing ant 1.10.5.  Both create.X3DJSAIL and create.X3DJSAIL.jars worked as targets, but there was no nashorn folder in the full X3DJSAIL jar.  Thank you for your assistance.
> 
> John
> 
> On Wed, Sep 26, 2018 at 10:13 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
> 
>     My illness/medication is extremely disabling.   I can barely enter an ant target right now.  Maybe I can see if I can develop on my phone.  Is there Remote Desktop for iPhone?  I will check.
> 
>     Plus it appears that EE, CORBA and nashorn will be removed from the jdk, hmm
> 
>     John
> 
>     On Tue, Sep 25, 2018 at 1:33 PM Brutzman, Donald (Don) (CIV) <brutzman at nps.edu <mailto:brutzman at nps.edu>> wrote:
> 
>         I've upgraded to Ant 1.5.  Shouldn't be an issue here, but it is good to stay consistent during co-development when possible.
> 
>                  Apache Ant
>         https://ant.apache.org
> 
>                  Savage Developers Guide: Ant
>         https://savage.nps.edu/Savage/developers.html#Ant
> 
>         See stylesheets/build.xml target name="create.X3DJSAIL.jars" for how the jar is constructed, excerpt follows.
> 
>         Is something that you expected now missing or dropped?  Generally, if it isn't found in version control, nor retrieved by one of the "get" targets, then it is an omission we need to fix.
> 
>         The intended goal is to make this library creation thoroughly repeatable, WORKSFORME only gets us part of the way there.  Thanks for your efforts John.
> 
> 
>               <target name="create.X3DJSAIL.jars" depends="" description="Build X3DJSAIL jars" >
>                   <!-- TODO jar files for each X3D version -->
>                          <!-- https://dzone.com/articles/what-is-jar-hell -->
>                                  <!-- http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/toc.html -->
>                                  <echo message="preparing .jar files"/>
>                                  <mkdir dir="${java.jars.dir}"/>
>                          <!-- ===================================================================== -->
>                          <echo message="${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>} contains only compiled .class files and dependency jars"/>
>                          <jar destfile="${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>}">
>                       <!-- http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/manifest.html -->
>                       <manifest id="ClassesJarManifest">
>                         <!-- Who is building this jar? -->
>                         <attribute name="Built-By" value="${user.name <http://user.name>}"/>
>                         <!-- Information about the program itself -->
>                         <attribute name="Implementation-Vendor" value="Web3D Consortium http://www.web3D.org"/>
>                         <attribute name="Implementation-Title" value="X3DJSAIL"/>
>                         <attribute name="Implementation-Version" value="1.0"/>
>                         <attribute name="Main-Class" value="org.web3d.x3d.jsail.CommandLine"/>
>                         <attribute name="Sealed" value="true"/>
>                       </manifest>
>                       <fileset dir="${X3DJSAIL.relative.dir}">
>                           <include name="*.txt"/>
>                           <include name="*.html"/>
>                           <exclude name="build/**/*"/><!-- TODO mysteriously caused by HelloWorldProgram.java testing -->
>                       </fileset>
>                       <fileset dir="${java.classes.dir}">
>                           <include name="**/*.class"/>
>                           <!-- avoid test cases to facilitate test debugging
>                           <exclude name="**/tests/**/*.class"/> -->
>                           <exclude name="javadoc.redirect.html"/>
>                           <exclude name="jars"/>
>                           <exclude name="jars/*.jar"/>
>                       </fileset>
>                       <!-- lib, stylesheets -->
>                       <fileset dir="${java.lib.dir}">
>                           <include name="**/*"/>
>                           <include name="**/*.xslt"/>
>                           <!-- Note that no external-dependency jar files are included in this stripped-down jar -->
>                       </fileset>
>                   </jar>
>                          <!-- ===================================================================== -->
>                   <echo>(ensure that destination ${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>} is not already in use) </echo>
>                   <move file="${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>}"     todir="${java.jars.dir}" verbose="true"/>
>                   <length property="jsai.classes.archive.jar.length" file="${java.jars.dir}/${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>}"/>
>                   <echo>Build .jar complete: ${jsai.classes.archive.jar.name <http://jsai.classes.archive.jar.name>} for Java SAI .class interfaces only (${jsai.classes.archive.jar.length} bytes) </echo>
>                   <!-- ===================================================================== -->
>                   <echo message="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>} contains all compiled .class files, all source .java files, and javadoc documentation"/>
>                   <echo message="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>} is a 'fat jar' that can be run independently on command line or elsewehere"/>
>                   <!-- https://stackoverflow.com/questions/19150811/what-is-a-fat-jar -->
>                   <jar destfile="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}.withSignatures">
>                       <manifest id="FullJarManifest">
>                         <!-- If this is an Applet or Web Start application, include
>                              the proper attributes from http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/index.html
>                         <attribute name="Permissions" value="sandbox"/>
>                         <attribute name="Codebase" value="example.com <http://example.com>"/> -->
>                         <!-- Who is building this jar? -->
>                         <attribute name="Built-By" value="${user.name <http://user.name>}"/>
>                         <!-- Information about the program itself -->
>                         <attribute name="Implementation-Vendor" value="Web3D Consortium http://www.web3D.org"/>
>                         <attribute name="Implementation-Title" value="X3DJSAIL Full"/>
>                         <attribute name="Implementation-Version" value="1.0"/>
>                         <attribute name="Sealed" value="true"/>
>                         <attribute name="Main-Class" value="org.web3d.x3d.jsail.CommandLine"/>
>                         <!-- https://dzone.com/articles/what-is-jar-hell
>         http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html
>                              "Note: The Class-Path header points to classes or JAR files on the local network,
>                               not JAR files within the JAR file or classes accessible over Internet protocols.
>                               To load classes in JAR files within a JAR file into the class path, you must write custom code to load those classes."
>                               So one or more Class-Path entries won't provide general portability:
>                         <attribute name="Class-Path" value="./${saxon.jar};./${openexi-nagasena.jar};./${exificient.jar}"/>
>                          -->
>                       </manifest>
>                       <!-- everything -->
>                       <fileset dir="${X3DJSAIL.relative.dir}">
>                           <include name="*.txt"/>
>                           <include name="*.html"/>
>                           <include name="draftJavaLanguageBindingAnnexes/**/*"/>
>                           <include name="examples/**/*"/>
>                           <include name="images/**/*"/>
>                           <include name="javadoc/**/*"/>
>                           <include name="references/**/*"/>
>                           <include name="src/**/*"/>
>                           <exclude name="**/~*"/>
>                           <exclude name="**/*.bak"/>
>                           <exclude name="**/private/**"/>
>                           <exclude name="examples/images/HelloWorldProgramOutput/**"/>
>                           <exclude name="build/**/*"/><!-- TODO mysteriously caused by HelloWorldProgram.java testing -->
>                       </fileset>
>                       <fileset dir="${java.classes.dir}">
>                           <include name="**/*.class"/>
>                           <exclude name="**/tests/**/*.class"/>
>                           <exclude name="javadoc.redirect.html"/>
>                           <exclude name="jars"/>
>                           <exclude name="jars/*.jar"/>
>                       </fileset>
>                       <!-- lib, stylesheets -->
>                       <fileset dir="${java.lib.dir}">
>                           <include name="**/*"/>
>                           <include name="**/*.xslt"/>
>                           <exclude name="${saxon.jar}"/>
>                           <exclude name="${openexi-nagasena.jar}"/>
>                           <exclude name="${exificient.jar}"/>
>                       </fileset>
>                       <fileset dir="${X3DJSAIL.relative.dir}">
>                           <include name="${nashorn.dir}/**/*"/>
>                           <exclude name="test.bat"/>
>                           <exclude name="${nashorn.dir}/examples"/>
>                       </fileset>
>                       <zipgroupfileset dir="${java.lib.dir}">
>                           <include name="${exificient.jar}"/>
>                           <include name="${openexi-nagasena.jar}"/>
>                           <include name="${saxon.jar}"/>
>                           <!-- apparently unable to avoid inclusion, so removed later
>                               <exclude name="META-INF/SAXONICA.DSA"/>
>                               <exclude name="META-INF/SAXONICA.RSA"/>
>                               <exclude name="META-INF/SAXONICA.SF"/>
>                           -->
>                       </zipgroupfileset>
>                   </jar>
>                   <!-- now remove prior signatures, which are no longer valid since other code products have been integrated.
>                                   to learn more about why removing signatures from integrated "fat" jar files is necessary:
>         https://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar -->
>                   <!-- remove signatures from external jars: see "Have you tried using the zipfileset task?"
>         https://stackoverflow.com/questions/2521231/ant-task-to-remove-files-from-a-jar -->
>                   <!-- zipfileset: https://ant.apache.org/manual/Tasks/zip.html and https://ant.apache.org/manual/Types/zipfileset.html -->
>                   <jar destfile="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}">
>                       <zipfileset src="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}.withSignatures">
>                           <exclude name="META-INF/*.DSA"/>
>                           <exclude name="META-INF/*.RSA"/>
>                           <exclude name="META-INF/*.SF"/>
>                       </zipfileset>
>                   </jar>
>                   <delete file="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}.withSignatures" verbose="true"/>
> 
>                          <!-- ===================================================================== -->
>                   <echo>(ensure that destination ${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>} is not already in use)</echo>
>                          <move file="${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}"     todir="${java.jars.dir}" verbose="true"/>
>                   <length property="jsai.full.archive.jar.length" file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}"/>
>                   <echo>Build .jar complete: ${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>} for all .class interfaces, .java sources (${jsai.full.archive.jar.length} bytes) </echo>
>                          <!-- TODO also provide option in archive build file to download current version -->
>                          <!-- TODO are exificient and nagasena/openexi needed? -->
>                          <!-- ===================================================================== -->
>                          <echo>Copy ${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>} to lib/ subdirectories in X3D Example Archives:</echo>
>                          <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/Basic/lib"                  verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/ConformanceNist/lib"        verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/Vrml2Sourcebook/lib"        verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/Savage/lib"                 verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/SavageDefense/lib"          verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/X3dForAdvancedModeling/lib" verbose="true"/>
>                  <copy file="${java.jars.dir}/${jsai.full.archive.jar.name <http://jsai.full.archive.jar.name>}" todir="../content/examples/X3dForWebAuthors/lib"       verbose="true"/>
>               </target>
> 
> 
>         On 9/25/2018 9:17 AM, John Carlson wrote:
>          > $ env |grep ANT
>          >
>          > ANT_HOME=/c/Users/coderextreme/apache-ant-1.10.4/
>          >
>          > $ !~
>          >
>          > ~/apache-ant-1.10.4/bin/ant create.X3DJSAIL.jars
>          >
>          > Buildfile: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\build.xml
>          >
>          > create.X3DJSAIL.jars:
>          >
>          >       [echo] preparing .jar files
>          >
>          >       [echo] X3DJSAIL.3.3.classes.jar contains only compiled .class files and dependency jars
>          >
>          >        [jar] Building jar: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.classes.jar
>          >
>          >       [echo] (ensure that destination X3DJSAIL.3.3.classes.jar is not already in use)
>          >
>          >       [move] Moving 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars
>          >
>          >       [move] Attempting to rename: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.classes.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.classes.jar
>          >
>          >       [echo] Build .jar complete: X3DJSAIL.3.3.classes.jar for Java SAI .class interfaces only (12281044 bytes)
>          >
>          >       [echo] X3DJSAIL.3.3.full.jar contains all compiled .class files, all source .java files, and javadoc documentation
>          >
>          >       [echo] X3DJSAIL.3.3.full.jar is a 'fat jar' that can be run independently on command line or elsewehere
>          >
>          >        [jar] Building jar: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.full.jar.withSignatures
>          >
>          >        [jar] Building jar: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.full.jar
>          >
>          >     [delete] Deleting: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.full.jar.withSignatures
>          >
>          >       [echo] (ensure that destination X3DJSAIL.3.3.full.jar is not already in use)
>          >
>          >       [move] Moving 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars
>          >
>          >       [move] Attempting to rename: C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>          >
>          >       [echo] Build .jar complete: X3DJSAIL.3.3.full.jar for all .class interfaces, .java sources (20654034 bytes)
>          >
>          >       [echo] Copy X3DJSAIL.3.3.full.jar to lib/ subdirectories in X3D Example Archives:
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Basic\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Basic\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\ConformanceNist\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\ConformanceNist\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Vrml2Sourcebook\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Vrml2Sourcebook\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Savage\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\Savage\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\SavageDefense\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\SavageDefense\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\X3dForAdvancedModeling\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\X3dForAdvancedModeling\lib\X3DJSAIL.3.3.full.jar
>          >
>          >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\X3dForWebAuthors\lib
>          >
>          >       [copy] Copying C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar to C:\x3d-code\www.web3d.org <http://www.web3d.org>\x3d\content\examples\X3dForWebAuthors\lib\X3DJSAIL.3.3.full.jar
>          >
>          > BUILD SUCCESSFUL
>          >
>          > Total time: 12 seconds
>          >
>          > coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/x3d/stylesheets <http://www.web3d.org/x3d/stylesheets>
>          >
>          > $ !jar
>          >
>          > jar -tf java/jars/X3DJSAIL.3.3.full.jar |grep auto
>          >
>          > .netbeans_automatic_build
>          >
>          > coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/x3d/stylesheets <http://www.web3d.org/x3d/stylesheets>
>          >
>          > $ jar -tf java/jars/X3DJSAIL.3.3.full.jar |grep nash
>          >
>          > coderextreme at DESKTOP-
>          >
>          > coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/x3d/stylesheets <http://www.web3d.org/x3d/stylesheets>
>          >
>          > $ jar -tf java/jars/X3DJSAIL.3.3.classes.jar |grep nash
>          >
> 
> 
>         all the best, Don
>         -- 
>         Don Brutzman  Naval Postgraduate School, Code USW/Br brutzman at nps.edu <mailto:brutzman at nps.edu>
>         Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
>         X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
> 


all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list