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

John Carlson yottzumm at gmail.com
Wed Sep 26 07:48:48 PDT 2018


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


More information about the x3d-public mailing list