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

John Carlson yottzumm at gmail.com
Wed Sep 26 08:13:21 PDT 2018


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> 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> 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} contains
>> only compiled .class files and dependency jars"/>
>>                 <jar destfile="${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}"/>
>>                <!-- 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}
>> is not already in use) </echo>
>>          <move file="${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}"/>
>>          <echo>Build .jar complete: ${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} contains all
>> compiled .class files, all source .java files, and javadoc documentation"/>
>>          <echo message="${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}.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"/> -->
>>                <!-- Who is building this jar? -->
>>                <attribute name="Built-By" value="${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}">
>>              <zipfileset src="${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}.withSignatures"
>> verbose="true"/>
>>
>>                 <!--
>> ===================================================================== -->
>>          <echo>(ensure that destination ${jsai.full.archive.jar.name} is
>> not already in use)</echo>
>>                 <move file="${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}"/>
>>          <echo>Build .jar complete: ${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} to lib/
>> subdirectories in X3D Example Archives:</echo>
>>                 <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/Basic/lib"                  verbose="true"/>
>>         <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/ConformanceNist/lib"        verbose="true"/>
>>         <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/Vrml2Sourcebook/lib"        verbose="true"/>
>>         <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/Savage/lib"                 verbose="true"/>
>>         <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/SavageDefense/lib"          verbose="true"/>
>>         <copy file="${java.jars.dir}/${jsai.full.archive.jar.name}"
>> todir="../content/examples/X3dForAdvancedModeling/lib" verbose="true"/>
>>         <copy file="${java.jars.dir}/${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\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
>> \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
>> \x3d\stylesheets\java\jars
>> >
>> >       [move] Attempting to rename: C:\x3d-code\www.web3d.org\x3d\stylesheets\X3DJSAIL.3.3.classes.jar
>> to C:\x3d-code\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
>> \x3d\stylesheets\X3DJSAIL.3.3.full.jar.withSignatures
>> >
>> >        [jar] Building jar: C:\x3d-code\www.web3d.org
>> \x3d\stylesheets\X3DJSAIL.3.3.full.jar
>> >
>> >     [delete] Deleting: C:\x3d-code\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
>> \x3d\stylesheets\java\jars
>> >
>> >       [move] Attempting to rename: C:\x3d-code\www.web3d.org\x3d\stylesheets\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\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
>> \x3d\content\examples\Basic\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\Basic\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\ConformanceNist\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\ConformanceNist\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\Vrml2Sourcebook\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\Vrml2Sourcebook\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\Savage\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\Savage\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\SavageDefense\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\SavageDefense\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\X3dForAdvancedModeling\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\X3dForAdvancedModeling\lib\X3DJSAIL.3.3.full.jar
>> >
>> >       [copy] Copying 1 file to C:\x3d-code\www.web3d.org
>> \x3d\content\examples\X3dForWebAuthors\lib
>> >
>> >       [copy] Copying C:\x3d-code\www.web3d.org\x3d\stylesheets\java\jars\X3DJSAIL.3.3.full.jar
>> to C:\x3d-code\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
>> >
>> > $ !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
>> >
>> > $ 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
>> >
>> > $ 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
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>  +1.831.656.2149
>> X3D graphics, virtual worlds, navy robotics
>> http://faculty.nps.edu/brutzman
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20180926/ff4755d4/attachment-0001.html>


More information about the x3d-public mailing list