Difference between revisions of "How to Contribute"

From JogampWiki
Jump to: navigation, search
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
= Basic contributions =
  
= Overview =
+
* 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.
 +
* [[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.
  
Our modules have been [http://blog.jausoft.com/2009/07/08/svn-to-git-migration-1/ migrated to git],
+
At this level, you only need to be able to download and use a JogAmp project like JOGL. Here are some helpful links:
thanks to the great git toolchain.<br>
+
In the past we were using a centralized repository only, ''SVN'',
+
and you really needed access to a central repository.
+
  
Chose a media to offer your branch to the [[Maintainer and Contacts#Maintainer|module maintainer]].
+
* [[Downloading and installing JOGL|Downloading and installing JOGL]]
This may be via
+
* [[Setting up a JogAmp project in your favorite IDE|Setting up a JogAmp project in your favorite IDE]]
* [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
+
= Advanced contributions =
you may host on a free git server like [[http://github.com github]].
+
  
Just '''create a branch of your own and make it available''', then you may ask
+
* 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.
the [[Maintainer and Contacts#Maintainer|module maintainer]] to pull, review and merge your branch.<br>
+
* 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.
[http://whygitisbetterthanx.com/#any-workflow Collaboration] using a [http://whygitisbetterthanx.com/#distributed distributed SCM] is easy.
+
* 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.
  
= Steps =
+
To contribute at an advanced level, you'll need to be able to [[How to Build|build the JogAmp project]].
  
* fork a [[Jogamp SCM Repositories|SCM repository]]
+
= Git References =
* 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 the the modules 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]
+
  
 +
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]
+
  
 
+
* [http://whygitisbetterthanx.com/#any-workflow Collaboration with Git]
= Git References =
+
* [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.