Difference between revisions of "How to Contribute"

From JogampWiki
Jump to: navigation, search
m (Added links for other IDEs)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Overview =
+
= Basic contributions =
  
Our modules have been [http://blog.jausoft.com/2009/07/08/svn-to-git-migration-1/ migrated to git], thanks to the great git toolchain.<br>
+
* Reporting a bug on [{{SERVER}}/forum.html our forum]: This is helpful and a good first step to getting a bug fixed. If you're not quite sure what you're seeing is a bug, this is the best way to report it, rather than going straight to the bug database.
In the past we were using a centralized repository only, ''SVN'', and you really needed access to a central repository.
+
* [[Jogl FAQ#Bugreports & Testing|Submitting a bug report to our database]]: This is a very valuable contribution. A full bug report gives us a permanent record of the bug in a central location where we can easily refer to it later. You should always attach failing Java code to the bug report to help us reproduce it.
  
Chose a media to offer your branch to the [[Maintainer and Contacts#Maintainer|module maintainer]].
+
At this level, you only need to be able to download and use a JogAmp project like JOGL. Here are some helpful links:
This may be via
+
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html#Individual%20Developer%20%28Participant%29 email]
+
* [http://weblog.masukomi.org/wp-content/uploads/2008/03/config_remote_repo.svg http]
+
* [http://kernel.org/pub/software/scm/git/docs/howto/use-git-daemon.txt git]
+
  
Surely it's most easy for us to access your git repository via the git protocol
+
* [[Downloading and installing JOGL|Downloading and installing JOGL]]
you may host on a free git server like [[http://github.com github]].
+
* [[Setting up a JogAmp project in your favorite IDE|Setting up a JogAmp project in your favorite IDE]]
  
Just '''create a branch of your own and make it available''', then you may ask
+
= Advanced contributions =
the [[Maintainer and Contacts#Maintainer|module maintainer]] to pull, review and merge your branch.<br>
+
[http://whygitisbetterthanx.com/#any-workflow Collaboration] using a [http://whygitisbetterthanx.com/#distributed distributed SCM] is easy.
+
  
= Steps =
+
* Submitting a [[Contributing a new feature or fix|bug report with a unit test]]: This not only documents the bug, but gives us a way to reproduce it in our automatic test suite. This insures that once the bug is fixed, it won't happen again later as the code is changed.
 +
* Submitting a [[Contributing a new feature or fix|bug report with a unit test and a fix]]: This is the best possible way to insure that a bug gets fixed quickly, since you've submitted a complete package which the maintainer just needs to examine and approve.
 +
* Adding [[Contributing a new feature or fix|a new feature]]: This is the ultimate level of contribution to JogAmp. Before starting at this level, you should consult the [[Maintainer and Contacts#Maintainer|module maintainer]] to make sure there's agreement about the direction you want to go. But other than that, you're limited only by your imagination.
  
* fork a [[Jogamp SCM Repositories|SCM repository]]
+
To contribute at an advanced level, you'll need to be able to [[How to Build|build the JogAmp project]].
* do with it as you please while obeying the modules license and <i>the law</i>.
+
* tell us about the earth shaking improvements you made via the [http://jogamp.org/forum.html mailinglists/forum] and contact the [[Maintainer and Contacts#Maintainer|module maintainer]]
+
* if everything works fine we will probably integrate it soon, <b>if</b>
+
** you include a [http://jogamp.org/git/?p=jogl.git;a=blob;f=src/junit/com/jogamp/test/junit/newt/TestGLWindows00NEWT.java <b>a junit test</b>] reflecting your changes / feature
+
** you comply with the module's license and contribute under it's terms
+
** we can <i>somehow</i> verify your identity, at least you use your <b>full name</b> in your [http://help.github.com/git-email-settings/ git commits]
+
  
For more details, see [[Contributing a new feature or fix|these instructions on how to contribute a new feature or fix]].
+
= Git References =
  
 +
Our modules have been [http://blog.jausoft.com/2009/07/08/svn-to-git-migration-1/ migrated to Git], thanks to the great Git toolchain. In the past we used a centralized Subversion repository, which required access to a central server.
  
To actually build the beast, please refer to the following manuals:
+
Our preferred method of Git collaboration is via the [[http://github.com free GitHub server]]. But you could also contribute via [http://www.kernel.org/pub/software/scm/git/docs/everyday.html#Individual%20Developer%20%28Participant%29 email], [http://weblog.masukomi.org/wp-content/uploads/2008/03/config_remote_repo.svg http], or the [http://kernel.org/pub/software/scm/git/docs/howto/use-git-daemon.txt Git daemon].
* [{{SERVER}}/jogl/doc/HowToBuild.html How To Build JOGL]
+
* [{{SERVER}}/jocl/doc/HowToBuild.html How To Build JOCL]
+
* [[Building JOGL on the command line|Building JOGL on the command line]]
+
* [[Building JOGL in Eclipse|Building JOGL in Eclipse]]
+
* [[Setting up an Eclipse project that uses JOGL|Setting up an Eclipse project that uses JOGL]]
+
* [[Setting up an IntelliJ IDEA project that uses JOGL|Setting up an IntelliJ IDEA project that uses JOGL]]
+
* [[Setting up a NetBeans project that uses JOGL|Setting up a NetBeans project that uses JOGL]]
+
  
= Git References =
+
* [http://whygitisbetterthanx.com/#any-workflow Collaboration with Git]
 +
* [http://whygitisbetterthanx.com/#distributed Distributed SCM with Git]
 
* http://help.github.com/git-installation-redirect
 
* http://help.github.com/git-installation-redirect
 
* http://help.github.com/git-email-settings/
 
* http://help.github.com/git-email-settings/
 
* http://help.github.com/
 
* http://help.github.com/
 
* [http://git.or.cz/course/svn.html GIT Manual for SVN Experts]
 
* [http://git.or.cz/course/svn.html GIT Manual for SVN Experts]

Latest revision as of 06:31, 31 August 2013

Basic contributions

  • Reporting a bug on our forum: This is helpful and a good first step to getting a bug fixed. If you're not quite sure what you're seeing is a bug, this is the best way to report it, rather than going straight to the bug database.
  • Submitting a bug report to our database: This is a very valuable contribution. A full bug report gives us a permanent record of the bug in a central location where we can easily refer to it later. You should always attach failing Java code to the bug report to help us reproduce it.

At this level, you only need to be able to download and use a JogAmp project like JOGL. Here are some helpful links:

Advanced contributions

  • Submitting a bug report with a unit test: This not only documents the bug, but gives us a way to reproduce it in our automatic test suite. This insures that once the bug is fixed, it won't happen again later as the code is changed.
  • Submitting a bug report with a unit test and a fix: This is the best possible way to insure that a bug gets fixed quickly, since you've submitted a complete package which the maintainer just needs to examine and approve.
  • Adding a new feature: This is the ultimate level of contribution to JogAmp. Before starting at this level, you should consult the module maintainer to make sure there's agreement about the direction you want to go. But other than that, you're limited only by your imagination.

To contribute at an advanced level, you'll need to be able to build the JogAmp project.

Git References

Our modules have been migrated to Git, thanks to the great Git toolchain. In the past we used a centralized Subversion repository, which required access to a central server.

Our preferred method of Git collaboration is via the [free GitHub server]. But you could also contribute via email, http, or the Git daemon.