[x3d-public] Patch for X3DJSAIL

Don Brutzman brutzman at nps.edu
Thu Oct 5 07:05:52 PDT 2017


John, thanks for the modified X3DObject.java source.  Unfortunately Netbeans still didn't like the .patch file, but I was able to diff your changes and apply them in the stylesheet + autogenerated code.

Now checked in and currently deployed in build.  Online at

	http://www.web3d.org/specifications/java/X3DJSAIL.html

Hopefully all end-user invocation issues are now well documented, please advise if not.

	http://www.web3d.org/specifications/java/X3DJSAIL.html#Downloads

	http://www.web3d.org/specifications/java/X3DJSAIL.html#CommandLine

Looking forward to the following steps with you:
- further build configuration for portability in your development environment
- presumably you want to embed X3DJSONLD executables in the X3DJSAIL "fat" jar?
- testing and unit testing of invocations
- further documentation
- testing with Node.js and Java 9 Nashorn
- adding conversions and results to X3D Examples Archives

Also upcoming: adding EXI conversions with OpenEXI Nagasena as well as EXIFICIENT.
	
On 10/2/2017 2:52 AM, John Carlson wrote:
> Comments below in red.
> 
> [...]
>>  3. The rest would be nice to have, because I have to keep updating the stylesheet, but I don’t have a “working” version yet.
> 
> Am reluctant to change directory structure, the entire build process depends on it and not sure why you need it:
>  
> This is just my diffs.  If you made it a parameter instead of a variable, it would work better for me.
[...]
>  I have a separate build for X3DJSAIL using maven which does not use the fat jar. Hopefully I will be able to continue using that,

should still work, can now add an alternate subdirectory path variable for builds if needed.  Please steer me where you think a configuration variable should go, will integrate.

>  and it will not be required that X3DJSAIL code be sealed.

	Sealing Packages within a JAR File
	https://docs.oracle.com/javase/tutorial/deployment/jar/sealman.html

"Packages within JAR files can be optionally sealed, which means that all classes defined in that package must be archived in the same JAR file. You might want to seal a package, for example, to ensure version consistency among the classes in your software."

By providing two different X3DJSAIL jar files, one skinny (minimalist) and one fat (all-inclusive), am thinking that sealing is OK.  This allows flexible deployment and third-party development, also prevents X3DJSAIL versionitis.

So if you want to link other libraries in your build use the skinny version X3DJSAIL.3.3.classes.jar, otherwise use the full version.  Hope that sounds OK.

Have fun with X3D Java and Javascript!  8)

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