Difference between revisions of "Becoming a Developer"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
A work in progress.  Help out if you can.
+
{{Breadcrumb|Table_of_Contents#Developer.27s_Guide|next=Software Development Procedure}}
 +
[[Category:Table of Contents]]
 +
[[Category:Developer documentation]]
  
A Developer in the ADempiere bazaar is a person who contributes code, documentation or other work that is of value to the community.  Anyone can become a Developer by making contributions.
+
A Developer in the ADempiere bazaar is a person who contributes code, documentation or other work that is of value to the community.  Anyone can become a Developer by making contributions.  It is one of the most challenging and rewarding aspects of being involved in an open source community project.
  
 
== Becoming a Developer ==
 
== Becoming a Developer ==
Line 13: Line 15:
 
== Accessing the Code Repositories on SourceForge ==
 
== Accessing the Code Repositories on SourceForge ==
  
Once you are setup, it is simple to clone a ADempiere repository, pull changes from that repository and push changes to the repository (if you have permissions).
+
To access the code, you will need to use mercurial and git and a few extentions.  See the instructions in [[ADempiere Version Control]].  
  
First, you will need to install and understand Mercurial (or hg for short) if you are not familiar with it. See these links:
+
Next, learn about the ADempiere repository structure. Visit the [http://sourceforge.net/projects/adempiere/# ADempiere site] on SourceForge. Under tools, both SVN and Mercurial are listed but Mercurial is the active version control system in use since the summer of 2011.  
* http://mercurial.selenic.com/ to download Mercurial (and TortoiseHg if you are a Windows User)
+
* For information on Mercurial, see
+
** Maybe the best tutorial on HG: http://hginit.com/
+
** Online-Book "Mercurial: The Definitive Guide": http://hgbook.red-bean.com/
+
  
Next, learn about the ADempiere repository structure.
+
Most of the work being performed on the code is performed in branches on the main repository "code". The [[Software Development Procedure]] describes the branching methods used.  
* Visit the [http://sourceforge.net/projects/adempiere/# ADempiere site] on SourceForge.  Under tools, both SVN and Mercurial are listed but Mercurial is the active version control system in use since the summer of 2011.
+
* Within the Mercurial tool is a list of the individual repositories that make up the ADempiere project.  The main repository is simply called "Code". Clicking on a repository name will bring you to a page that shows the various tags and branches that make up the repository.  The page also provides the mercurial code required to clone the repository. For the main "Code" repository, the simple read-only clone command is:
+
hg clone http://hg.code.sf.net/p/adempiere/code adempiere-code
+
* If you log-in to SourceForge and are a developer for the project (have read/write access), the code uses ssh and is
+
hg clone ssh://<sf_user_name>@hg.code.sf.net/p/adempiere/code adempiere-code
+
  
Setup your copy of Mercurial and create local clones (pristine and working) of the repository to which you will be contributing. See the instructions in [[Mercurial Test Environment]].
+
Once you have local repositories setup, you can [Create your ADempiere development environment] and enjoy.
  
If you are using TortoiseHg or the Eclispe plug-in, you can push changes to SourceForge with a password.  To use Mercurial directly from the command line, you will need to setup a secure connection with ssh and security key exchanges. Read the documents about Mercurial on Sourceforge: https://sourceforge.net/apps/trac/sourceforge/wiki/Mercurial.
+
If you have any problems or questions, reach out on the [http://sourceforge.net/p/adempiere/discussion/610548/ Source Forge developer forums].
 
+
The documents describe how to create a shell on the SourceForge server which you can use to create new directories and initialize repositories.
+
 
+
Mercurial
+
Repo Structure
+
Mercurial and SourceForge
+
Tools
+
PLink
+
Tortoise Hg
+
Eclipse
+
 
+
== Managing the Repositories ==
+
 
+
Branches and tags
+
 
+
== Committing a Contribution ==
+
What to commit, where to commit
+

Latest revision as of 14:38, 23 February 2014

Table_of_Contents#Developer.27s_Guide{{#if: | | [[{{{2}}}]] }}{{#if: | | [[{{{3}}}]] }}{{#if: | | [[{{{4}}}]] }}{{#if: | | [[{{{5}}}]] }} | Becoming a Developer{{#if: Software Development Procedure| | Software Development Procedure }} ⇒

A Developer in the ADempiere bazaar is a person who contributes code, documentation or other work that is of value to the community. Anyone can become a Developer by making contributions. It is one of the most challenging and rewarding aspects of being involved in an open source community project.

Becoming a Developer

To gain write access to the SourceForge repositories, all a person has to do is ask one of the project admins found on the SourceForge ADempiere Develop page. There is no vote or process to follow. However, its best not to make the request one of the first things you do. Contribute first, then ask. If the admins recognize you from your activity on the forums and in the trackers, you will get a quick positive response.

Being a Developer with write access to the source code does not mean that you can immediately begin committing changes to the development branch. You must respect the Software Development Procedure. You can create your own repository for contributions and develop freely within that directory. In the main code repository, you will need permission before you can create a branch or start development on a new feature.

After you have proven yourself as a developer, you can ask to join the community as a citizen. Eventually, you can be given the status of Committer with access and responsibility for the main code repository.

Accessing the Code Repositories on SourceForge

To access the code, you will need to use mercurial and git and a few extentions. See the instructions in ADempiere Version Control.

Next, learn about the ADempiere repository structure. Visit the ADempiere site on SourceForge. Under tools, both SVN and Mercurial are listed but Mercurial is the active version control system in use since the summer of 2011.

Most of the work being performed on the code is performed in branches on the main repository "code". The Software Development Procedure describes the branching methods used.

Once you have local repositories setup, you can [Create your ADempiere development environment] and enjoy.

If you have any problems or questions, reach out on the Source Forge developer forums.