Difference between revisions of "Repository Management Policy"

From WebLab Wiki
Jump to navigationJump to search
(Rules)
(Trunk)
Line 8: Line 8:
  
 
=Trunk=
 
=Trunk=
 +
 
The ''trunk'' part contains active developments. It is divided in 6 sub-parts:
 
The ''trunk'' part contains active developments. It is divided in 6 sub-parts:
 
* WebLabExchangeModel
 
* WebLabExchangeModel
 +
This part contains the exchange model of the WebLab
 +
 
* WebLabHelpers
 
* WebLabHelpers
 +
This part contains helpers to ease RDF work with WebLab Resources.
 +
 
* WebLabServices
 
* WebLabServices
 +
This parts contains all available components, services and portlets used by the WebLab platform
 +
 
* WebLabApplications
 
* WebLabApplications
 +
This part contains projects to build the full Weblab platform
 +
 +
* WebLabEngines
 +
This part contains service engine for the bus of WebLab platform
 +
 
* WebLabTools
 
* WebLabTools
* WebLabEngines
+
This part contains external tools that are not necessary to build the platform but ease development (maven plugin, eclipse plugin ...)
  
 
=Branches=
 
=Branches=

Revision as of 09:04, 14 February 2012

WebLab repository is separated in three parts: Trunk, Branches and Tags. Developement in each part is guided by a simple set of common rules.

Rules

These simple set of rules MUST be applied before each modification of the repository:

  1. The creation of a new projet or any change in the repository MUST be linked to a Jira request containing rationals (new feature, improvement or bug fix).
  2. Before any commit, you MUST check that your changes do not break unitary tests of impacted projects.
  3. Any modification of the hierarchy (sub-hierarchy) MUST be discussed on the WebLab dev mailing list.

Trunk

The trunk part contains active developments. It is divided in 6 sub-parts:

  • WebLabExchangeModel

This part contains the exchange model of the WebLab

  • WebLabHelpers

This part contains helpers to ease RDF work with WebLab Resources.

  • WebLabServices

This parts contains all available components, services and portlets used by the WebLab platform

  • WebLabApplications

This part contains projects to build the full Weblab platform

  • WebLabEngines

This part contains service engine for the bus of WebLab platform

  • WebLabTools

This part contains external tools that are not necessary to build the platform but ease development (maven plugin, eclipse plugin ...)

Branches

Branches part follows the same structure that the trunk but it contains projets on previous WebLab Core version that must still be maintained. It also contains WebLab platform applications as examples of WebLab features (i.e. for demonstration purposes)

Tags

Tags part follows the same structure that the trunk but it contains only stable version of sub-projects that have been tested and are documented, or being documented on this website. Each tag must be available as a maven artifact in the official repository or at least be available as an archive or binary to download from the Download page.

An other set of rules also apply on tags part:

  • Before tagging a new version;
  1. you MUST check that tests are not failing
  2. you MUST write/update the documentation of the project on this website
  3. you MUST create the corresponding version in Jira
  4. you MUST make sure that the maven artifact or archive is available (from maven repository or direct download)
  • Tagging a new version;
  1. you MUST keep the existing hierarchy coherent.

For example, if you want to tag the version 1.2.5 of the WebLab model, you must tag it at the following url

svn://svn.forge.objectweb.org/svnroot/weblab/tags/WebLabCore/WebLabExchangeModel/v1.2.5/model

The version 1.1 of the simple repository web service must be tagged at the following url:

svn://svn.forge.objectweb.org/svnroot/weblab/tags/WebLabServices/WebServices/simple-file-repository/v1.1/simple-file-repository

Or generally;

svn://svn.forge.objectweb.org/svnroot/weblab/tags/path_to_the_project/vX.X.X/name_of_the_project

where X.X.X is the version of the project.

  • After tagging a new version:
  1. you MUST broadcast the release of this version in the dev and user WebLab mailing list.
  2. you MUST update the Download web page