.. bundle .. deploy
JOGL Deployment

# JNLP Files

You may choose to use JNLP to deploy your application and reference the JOGL resources.

You have the choice to use JNLP Applets or Java Webstart.

You might want to have a look at our Test page for JOGL Applets. Here is a documented example

Supported JNLP bases are:

- `http://jogamp.org/deployment/jogamp-current/` Current Version
- `http://jogamp.org/deployment/jogamp-next/` Next Version
- `http://jogamp.org/deployment/v2.0-rc3/` Specific Version

## Desktop All in One

### With AWT

- `jogl-all-awt.jnlp`
  - `gluegen-rt.jnlp`

### Without AWT

- `jogl-all-noawt.jnlp`
  - `gluegen-rt.jnlp`

### Mobile

- `jogl-all-mobile.jnlp`
  - `gluegen-rt.jnlp`

The above JNLP files will load the GlueGen JARs as well as the JOGL All-In-One JARs.

# JAR Files

## Native JAR Files

All JAR files containing platform dependent native libraries contain the string `natives` and the os.and.arch identifier in their name. The actual native library files are listed below.

### Naming Convention

JogAmp's build system has the notion of os.and.arch string identifier, to name platform dependent build artifacts.
Currently used and supported names are:

- freebsd-i586
- freebsd-amd64
- hpux-hppa
- linux-amd64
- linux-ia64
- linux-i586
- linux-armv7
- android-armv7
- macosx-universal
- solaris-sparc
- solaris-sparcv9
- solaris-amd64
- solaris-i586
- windows-amd64
- windows-i586

## Gluegen JARs - Mandatory

- `gluegen-rt.jar`
  - `gluegen-rt-natives-os.and.arch.jar`

### JOGL JARs - All-In-One

This might be the best solution for desktop (applets and webstart).
It is much faster to download a (maybe bigger) file once and cache it for most purposes, than to download tens of files where its cache might not be reuseable.

With AWT:

- `jogl.all.jar`
  - `jogl-all-natives-os.and.arch.jar`

Without AWT:

- `jogl.all-noawt.jar`
  - `jogl-all-natives-os.and.arch.jar`

Mobile:

- `jogl.all-mobile.jar`
  - `jogl-all-natives-os.and.arch.jar`

Android:

- `jogl.all-android.jar`
  - `jogl-all-natives-os.and.arch.jar`

### Atomic Deployment

This is a fine tuned solution where every byte counts.
It is also possible to use this strategy as a starting point for efficient manual deployment.

#### Cores

- Mandatory:
  - nativewindow.core.jar
  - jogl.core.jar
- Newt (optional):
  - newt.core.jar
  - newt.ogl.jar (to use NEWT with JOGL)

#### Platform (mandatory)

Chose the same platform for all picks :)

- NativeWindow [pick your platfrom, if available]:
  - nativewindow.os.x11.jar
- JOGL [pick your platform]:
  - jogl.os.x11.jar
  - jogl.os.win.jar
  - jogl.os.osx.jar
  - none
- Newt [pick your platform] (optional):
  - newt.driver.x11.jar
  - newt.driver.win.jar
  - newt.driver.osx.jar
  - newt.driver.kd.jar
  - none

#### OpenGL Profile (mandatory)

Pick as many as you like, at least 1:

- Embedded Device Profiles
  - jogl.glmobile.jar
    - jogl.glmobile.dbg.jar
- Desktop Profiles
  - jogl.gldesktop.jar
    - jogl.gldesktop.dbg.jar

#### JOGL Toolkits/Misc (optional)

- jogl.util.jar
- jogl.util.gl2.jar
- jogl.util.fixedfuncemu.jar

#### AWT (optional)

- nativewindow.awt.jar
- jogl.awt.jar
- jogl.util.awt.jar (if using jogl.util)
- newt.awt.jar (if using with NEWT)

#### GLU (optional)

- jogl.glutess.jar
- jogl.glumipmap.jar
- jogl.glugl2.jar

## Native Library Files

Gluegen native libraries:

- libgluegen-rt.so

NativeWindow native libraries

- libnativewindow_awt.so
- libnativewindow_jvm.so
- libnativewindow_x11.so

JOGL native libraries

- libjogl_desktop.so
- libjogl_mobile.so
- libjogl_cg.so

NEWT native libraries

- libnewt.so