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

John Richardson richards at spawar.navy.mil
Wed Sep 26 11:00:49 PDT 2018


Greetings and Salutations,

X3Dedit is usable from an iMac as a netbeans plugin. So, if Netbeans is usable on an iPhone [iPhone app?], perhaps as a service with the plug in installed on a workstation, then yes.

Search seems to have old results at netbeans.org. So, technically I can't definitely say yes. iOS X3D developers can feel free to chime in.

John

-----Original Message-----
From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of John Carlson
Sent: Wednesday, September 26, 2018 3:13 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: Re: [x3d-public] No Nashorn in X3DJSAIL jars. Hmm. Maybe I forgot what target to use?

I meant to ask if x3dedit was usable from iPhone.

On Wed, Sep 26, 2018 at 11:11 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com> > wrote:


	Can I use ant/java from iPhone?  X3dedit?

	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
		
		





More information about the x3d-public mailing list