Details
Description
There are times where platform-specific jars and libraries must be taken into account to make an application work, most notable anything that is related to 3d (JOGL for example). It would be great if Griffon were to handle packaging of native jars and libraries.
Proposal:
1. allow the following layout on an application or plugin
-basedir +--lib |+--windows | +-- native |+-- linux | +-- native |+-- macosx +-- native
2. lib/windows contains jar files, lib/windows/native contains .dll files
3. initially supported platforms: windows, linux, macosx (disregarding a distinction between 32 and 64 version)
4. native jars and libraries that match the current platform will be copied when run-app is invoked with 'development' environment
5. run-applet and run-webstart should rely on jnlp extensions to load native jars and libs
6. all native jars and libraries will be copied when packaging with an environment != 'development'
7. launch scripts will honor native jars and libs
I like the flow of this. Minor point though, I think the mac target should be osx or mac since macosx is listing both the OS and version differing from how the windows and linux targets are titled.
Are you thinking to do another level for 64-bit? ie /XXX/native/64/XXX.dynlib
How will the installer plugin piggyback on this to make more fine-grained installers?