Maven and Maintainer and Contacts: Difference between pages

From JogampWiki
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
__TOC__
= Maintainer =


JogAmp now contains support for Maven. As of <tt>2.0-rc11</tt>, packages are pushed to
* JogAmp IT Infrastructure, Architecture and Janitor
[http://search.maven.org/#search|ga|1|jogamp Maven Central].
** [[#Sven Gothel|Sven Gothel]]
* Gluegen
** [[#Sven Gothel|Sven Gothel]]
** [[#Harvey Harrison|Harvey Harrison]]
* JOAL
** [[#Xerxes Rånby|Xerxes Rånby]]
** [[#Sven Gothel|Sven Gothel]]
* JOGL
** [[#Sven Gothel|Sven Gothel]]
** GPU Curve Rendering
*** [[#Rami Santina|Rami Santina]]
** SWT Support
*** [[#Sven Gothel|Sven Gothel]]
* Java3D
** [[#Harvey Harrison|Harvey Harrison]]
* JOCL
** [[#Wade Walker|Wade Walker]]
** [[#Sven Gothel|Sven Gothel]]
* Engine Support
** [[#Julien Gouesse|Julien Gouesse]]
* Maven packages
** [[#Mark Raynsford|Mark Raynsford]]
* Art (graphics, demos, ..)
** [[#Dominik Ströhlein|Dominik Ströhlein]]
* ''Open Positions''
** jogl-utils


= Add dependencies on the correct packages =
= Contacts =


If you don't know which packages you want, you almost certainly want to use the
You can address the JogAmp Community via:
<tt>jogl-all-main</tt> and <tt>gluegen-rt-main</tt> packages, as these automatically
* [http://jogamp.org/ Web]
set up the correct dependencies on the native jar files for all platforms.
* [http://forum.jogamp.org/ Forum/Mailinglist]
* [http://jogamp.org/wiki/index.php/Chatroom JogAmp IRC]
* Email
** sgothel [@] jausoft.com
** mediastream [@] jogamp.org


As an example, if your project uses JOGL <tt>2.3.1</tt>:
== '''Commercial Support''' ==


<pre>
<div id="Contact_Maintainer">
  <dependencies>
Please feel welcome to contact the maintainers for commercial support inquiries,
    <dependency>
specific questions you seem not fit for public discussions, but '''most important to fund our work'''.
      <groupId>org.jogamp.gluegen</groupId>
</div>
      <artifactId>gluegen-rt-main</artifactId>
      <version>2.3.1</version>
    </dependency>
    <dependency>
      <groupId>org.jogamp.jogl</groupId>
      <artifactId>jogl-all-main</artifactId>
      <version>2.3.1</version>
    </dependency>
  </dependencies>
</pre>


Maven will pull all of the dependencies the next time you attempt to build the project.
== Sven Gothel ==
* sgothel [@] jausoft.com
* http://jausoft.com/blog/tag/jogamp/
* Contracting and funding
** via ''Göthel Software e.K., contact jogamp [@] jausoft.com''
===== Acknowledgment =====
Göthel Software e.K. and I like to express our gratitude to  
[http://www.cctintl.com/ CCT International], who were supporting this project during the period from mid 2010 up until mid 2019.


Additionally, for <tt>joal</tt> and <tt>jocl</tt> support:
== Julien Gouesse ==
* gouessej [@] orange.fr
* http://gouessej.wordpress.com/tag/jogl/


<pre>
== Wade Walker ==
  <dependencies>
* http://wadeawalker.wordpress.com/
    <dependency>
      <groupId>org.jogamp.jocl</groupId>
      <artifactId>jocl-main</artifactId>
      <version>2.3.1</version>
    </dependency>
    <dependency>
      <groupId>org.jogamp.joal</groupId>
      <artifactId>joal-main</artifactId>
      <version>2.3.1</version>
    </dependency>
  </dependencies>
</pre>


An example project is available in the <tt>maven</tt> subdirectory of the <tt>jogl-demos</tt> project
== Harvey Harrison ==
[http://jogamp.org/git/?p=jogl-demos.git;a=tree;f=maven].
* harvey.harrison [@] gmail.com
* https://github.com/hharrison


= Package details =
== Xerxes Rånby ==
* xerxes [@] gudinna.com
* http://labb.zafena.se/?category_name=jogamp
* http://twitter.com/xranby
** Micro payments via flatter: http://flattr.com/thing/1074999/JogAmp-JOAL-Maintainer-Xerxes-Rnby


For each JogAmp project, there are essentially two packages published: One contains the main compiled
== Mark Raynsford ==
jar files and any associated native library jar files, and the other simply contains <i>dependencies</i>
* http://io7m.com/
on those files. Using <tt>jogl-all</tt> and <tt>jogl-all-main</tt> as the example, the <tt>jogl-all</tt>
package in the jogamp.org test repository:


http://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all/2.3.1/
== Rami Santina ==
* http://ramisantina.com/blog/


Note that there are many native jar files attached to the main package. However, if you were to use
== Dominik Ströhlein ==
the following dependency in your own project:
* http://copypastaresearch.tumblr.com/
 
<pre>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>jogl-all</artifactId>
    <version>2.3.1</version>
  </dependency>
</pre>
 
Maven would download <tt>jogl-all-2.3.1.jar</tt> but would completely ignore all of the other
native jar files. Why? The reason for this is that the native jar files are uploaded as extra artifacts
to the <tt>jogl-all</tt> package and are, in a manner of speaking, not really considered to be part of
the package where dependencies are concerned. The POM for the <tt>jogl-all-main</tt> package adds
explicit dependencies on all of the extra artifacts in the <tt>jogl-all</tt> package:
 
http://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all-main/2.3.1/jogl-all-main-2.3.1.pom
 
So, when you add a dependency on <tt>jogl-all-main</tt> in your own project, the native jar files of
<tt>jogl-all</tt> are brought in as transitive dependencies and everything works as expected.
 
= Available packages =
 
{|
|Group ID
|Artifact ID
|Since
|Description
|-
|org.jogamp.gluegen
|gluegen-rt-android
|2.0.2-rc12
|GlueGen runtime code and native libraries (Android)
|-
|org.jogamp.gluegen
|gluegen-rt-main
|2.0-rc11
|Meta-package for automatic dependency resolution for the GlueGen runtime
|-
|org.jogamp.gluegen
|gluegen-rt
|2.0-rc11
|GlueGen runtime code and native libraries
|-
|org.jogamp.gluegen
|gluegen
|2.0-rc11
|GlueGen non-runtime code and native libraries (and atomic jars)
|-
|org.jogamp.joal
|joal-main
|2.0-rc11
|Meta-package for automatic dependency resolution for JOAL
|-
|org.jogamp.joal
|joal
|2.0-rc11
|JOAL code and native libraries
|-
|org.jogamp.joal
|joal-android
|2.2.0
|JOAL Android runtime
|-
|org.jogamp.jocl
|jocl-main
|2.0-rc11
|Meta-package for automatic dependency resolution for JOCL
|-
|org.jogamp.jocl
|jocl-android
|2.2.0
|JOCL Android runtime
|-
|org.jogamp.jocl
|jocl
|2.0-rc11
|JOCL code and native libraries
|-
|org.jogamp.jogl
|jogl-all-main
|2.0-rc11
|Meta-package for automatic dependency resolution for JOGL
|-
|org.jogamp.jogl
|jogl-all
|2.0-rc11
|JOGL code and native libraries
|-
|org.jogamp.jogl
|jogl-android
|2.0.2-rc12
|JOGL code and native libraries (Android)
|-
|org.jogamp.jogl
|jogl-android-main
|2.2.0
|Meta-package for automatic dependency resolution for JOGL (Android)
|-
|org.jogamp.jogl
|jogl-mobile-main
|2.0-rc11
|Meta-package for automatic dependency resolution for JOGL (mobile)
|-
|org.jogamp.jogl
|jogl-mobile
|2.0-rc11
|JOGL mobile code and native libraries (without AWT)
|-
|org.jogamp.jogl
|jogl-noawt-main
|2.0-rc11
|Meta-package for automatic dependency resolution for JOGL (without AWT)
|-
|org.jogamp.jogl
|jogl-noawt
|2.0-rc11
|JOGL code and native libraries (without AWT)
|-
|org.jogamp.jogl
|jogl
|2.0.2
|JOGL atomic jar files
|-
|org.jogamp.jogl
|nativewindow
|2.0.2
|Native window drivers for NEWT (atomic jars)
|-
|org.jogamp.jogl
|nativewindow-main
|2.2.0
|Native window drivers for NEWT (atomic frontend)
|-
|org.jogamp.jogl
|newt
|2.0.2
|NEWT code and native libraries (atomic jars)
|-
|org.jogamp.jogl
|newt-main
|2.2.0
|NEWT code and native libraries (atomic frontend)
|-
|org.jogamp.jogl
|occulusvr
|2.2.0
|JOGL code and native libraries (Oculus VR atomic jar files)
|-
|}
 
= Atomic jar files (optional) =
 
The so-called <i>atomic</i> jar files are provided as attachments to the <tt>jogl</tt>, <tt>newt</tt>,
<tt>nativewindow</tt> and <tt>gluegen</tt> packages. As an example, to depend only on the Linux AMD64
native jar files, on X11, using only the core of <tt>jogl</tt> and the native window toolkit in your
own projects, use the following dependencies:
 
<pre>
  <dependency>
    <groupId>org.jogamp.gluegen-rt</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
  </dependency>
  <dependency>
    <groupId>org.jogamp.gluegen-rt</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
    <classifier>natives-linux-amd64</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
    <classifier>core</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
    <classifier>natives-linux-amd64</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
    <classifier>os-x11</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>jogl</artifactId>
    <version>2.3.1</version>
    <classifier>os-x11</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>newt</artifactId>
    <version>2.3.1</version>
    <classifier>driver-x11</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>newt</artifactId>
    <version>2.3.1</version>
    <classifier>core</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>newt</artifactId>
    <version>2.3.1</version>
    <classifier>natives-linux-amd64</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>nativewindow</artifactId>
    <version>2.3.1</version>
    <classifier>core</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>nativewindow</artifactId>
    <version>2.3.1</version>
    <classifier>natives-linux-amd64</classifier>
  </dependency>
  <dependency>
    <groupId>org.jogamp.jogl</groupId>
    <artifactId>nativewindow</artifactId>
    <version>2.3.1</version>
    <classifier>driver-x11</classifier>
  </dependency>
</pre>
 
Note that the choice of which atomic jars are required is really outside of the scope of this
documentation. It's recommended that you browse the packages in question to see which jar
files are available. It's <i>not</i> recommended to depend on platform-specific jar files
in the manner shown above unless there's an extremely good reason to do so; to do otherwise
harms portability for no good reason!
 
= The jogamp.org test repository (optional) =
 
Bleeding edge, experimental packages will continue to be made available from the
[http://jogamp.org/deployment/maven Jogamp Test Repository]. Most users won't need this, but
it can be used by adding a new profile in your <tt>~/.m2/settings.xml</tt> file that specifies
the repository:
 
<pre>
  <?xml version="1.0" encoding="UTF-8"?>
  <settings
    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <profiles>
      <profile>
        <id>jogamp</id>
        <repositories>
          <repository>
            <id>jogamp-remote</id>
            <name>jogamp test mirror</name>
            <url>https://www.jogamp.org/deployment/maven/</url>
            <layout>default</layout>
          </repository>
        </repositories>
      </profile>
    </profiles>
    <activeProfiles>
      <activeProfile>jogamp</activeProfile>
    </activeProfiles>
  </settings>
</pre>
 
Maven will then check this repository for packages in addition to Maven Central when resolving dependencies.
 
'''''Please note that packages on the jogamp test repository are subject to unannounced changes at any moment and may break existing code at any time! Do not use for production code!'''''
 
= Android =
 
There is a [[Maven_And_Android|separate page]] documenting one method of producing packages that work on both Android and ordinary
desktop Java.
 
= Producing a fat jar =
 
See [[JogAmp_JAR_File_Handling#Maven_Assembly_Plugin|JAR File Handling]].

Revision as of 15:24, 28 February 2023

Maintainer

Contacts

You can address the JogAmp Community via:

Commercial Support

Please feel welcome to contact the maintainers for commercial support inquiries, specific questions you seem not fit for public discussions, but most important to fund our work.

Sven Gothel

Acknowledgment

Göthel Software e.K. and I like to express our gratitude to CCT International, who were supporting this project during the period from mid 2010 up until mid 2019.

Julien Gouesse

Wade Walker

Harvey Harrison

Xerxes Rånby

Mark Raynsford

Rami Santina

Dominik Ströhlein