How to Contribute: Difference between revisions

From JogampWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Easiest way to contribute:'''
= Basic contributions =
* fork a repository on github (e.g. from http://github.com/sgothel or http://github.com/mbien)
* do what ever you want with it (really)
* tell us about the earth shaking improvements you made via the [http://jogamp.org/forum.html mailinglists/forum]
* if everything works fine we will probably integrate it very soon


'''important:'''
* 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.
''please make sure you commit with your '''full name''' and a '''valid email address'''. Once your changes are integrated, it is very difficult to fix those things afterwards. (see [http://help.github.com/git-email-settings/ howto])''
* [[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.


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


'''building the projects'''
* [[Downloading and installing JOGL|Downloading and installing JOGL]]
* put all projects you are interested in into one folder (otherwise the dependencies won't be resolved automatically)
* [[Setting up a JogAmp project in your favorite IDE|Setting up a JogAmp project in your favorite IDE]]
* jogl, jocl, joal depends on gluegen
* jocl depends on jogl
* foo-demos depends on foo
'''build HowTo links'''
* http://jogamp.org/jogl/doc/HowToBuild.html
* http://jogamp.org/jocl/doc/HowToBuild.html


----
= Advanced contributions =


'''if you are new to GIT take a look at those pages:'''
* 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.
 
To contribute at an advanced level, you'll need to be able to [[How to Build|build the JogAmp project]].
 
= 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.
 
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].
 
* [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/
'''or general git help index:'''
* http://help.github.com/
* http://help.github.com/
 
* [http://git.or.cz/course/svn.html GIT Manual for SVN Experts]
'''for SVN experts which want to learn git:'''
* http://git.or.cz/course/svn.html

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.