[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:11:53 PDT 2018


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/e3d705ef/attachment-0001.html>


More information about the x3d-public mailing list