-
Notifications
You must be signed in to change notification settings - Fork 5
Use JOGL bundle in Mavenized build. #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
A full build and launch of this branch should be possible by executing with these commands at the top of the repository clone. Note that the com.jogamp.jogl Maven project must have been build previously. git checkout --track origin/tycho |
|
Hi Lee, I don't know much about Maven, so I need to ask you some questions about this :) It seems like this makes Maven a requirement to build the project, is that true? For this simple tutorial project, I'm not sure I want to require users to use anything beyond vanilla Eclipse. Also, is it necessary to move the whole project into another directory in order for Maven to work? This makes your pull request touch every file in the project, which seems like a big change. |
|
Hi Wade - First off ... THANK YOU THANK YOU THANK YOU for solving JOGL in Eclipse Thank you also for taking the time to look at the Mavenized version of your I do assume that Maven was widely available to any Java developer. For I did not do the experiment, but I would have expected an internal Eclipse I would not be surprised if the JOGL bundle needs to be built with Maven I understand that moving all the plugin source code down a level makes the I agree that the simplicity of a single project for the tutorial Since you are THE MAN - the go-to guy for JOGL + Eclipse integration - I As a bonus, I've tacked onto this note a simple analysis diagram generated Thanks again for solving JOGL within Eclipse, and for your time looking at Let me know if you have any questions
On Sun, Oct 25, 2015 at 7:34 AM, Wade Walker [email protected]
|
|
Hi Lee, Thanks for the kind words :) I don't know if I'm ready to switch over to Maven and Tycho yet myself, but I do think you're right that it's valuable to have those versions of JOGL and my tutorial available. I've got no objection if you want to put them on your own GitHub page; I can even amend my project descriptions to point people to them if they're interested. Right now I'm in the midst of getting Java OpenCL up to date with the latest OpenCL version, and after that I'll probably update my tutorial some more to show how to use JOGL, JOCL, and Eclipse RCP together. |
Hi Wade -
This is the name.wadewalker.tutorial pull-request that accompanies my earlier com.jogamp.jogl pull-request. This pull-request uses the JOGL bundle created by the com.jogamp.jogl build, and uses Tycho to complete the entire product build from the command line.
The Eclipse Tycho plugin for Maven uses the Eclipse PDE and OSGi MANIFEST.MF file to determine dependencies and to control the build. This means that Tycho builds are "Manifest First", and must be build after any "POM First" Maven builds. So JOGL builds in one Maven invocation, and the Tutorial product build is the second Maven run.
Since the JOGL libraries are constructed entirely from the POM, this build needs to complete before the Maven build of the tutorial. Fortunately, the JOGL libraries are in the separate org.jogampl.jogl Git repository, so this separate build is fairly natural. If is only needed once (per JOGL version).
The Tutorial build is organized as 4 Maven (and Eclipse) projects in the name.wadewalker.jogl repository. Tycho uses different packaging types for plugins and products, so that requires two projects (tutorial-plugin and tutorial-product). With a "build-line" layout, the tutorial-parent defines the shared build context and tutorial-master aggretates all the components for a product build.
To work with this projects in Eclipse, you only need to clone the two repositories and import all 5 of the projects. I recommend loading the one Eclipse project in com.jogamp.jogl first, since that seems to minimize the number of transient warning messages.
The current structure of the Tutorial application is ok for its scale, but it should be adapted for anything larger. Most importantly, the build should use a Target Definition (add a tutorial-target project) and build the product from Features, not Plugins (add a tutorial-feature project). These two capabilities add two more Maven packages to the infrastructure, and that's excessive for a simple Tutorial. It provides a great extensibiltiy foundation for multiple plugins and Eclipse contributions.
Thanks