Project

General

Profile

DRAFT (SO 15/2 2012)

Info for developers

Introduction

Using the git repository

The version control system in use to manage the Framework is git. Anonymous read-only access using the git protocol allows anyone to clone the repository using the following commands:

git clone git://git.epn-campus.eu/repositories/Framework4.git

To access the repository through ssh, if you've been given read/write access (see below), simply replace the git url like this

git clone git@git.epn-campus.eu:Framework4

Write access is managed with gitosis. Changes are pushed to the central repository over a ssh connection. In order to get write access, you need a ssh public key (which you'll use to connect to the server). Send your key and the name of the module you'll want to contribute to by email to me (matias.guijarro at esrf dot fr). For more detailed information see Git write access.

There is one central repository for the Framework, but each brick and control object lies in its own repository.

If you cloned the Framework using git, and later got write access, you'll have some more commands to issue before you can push your changes.

In the Framework directory:

git remote set-url --push origin git@git.epn-campus.eu:Framework4.git
git config branch.master.remote origin
git config branch.master.merge refs/heads/master

For some older versions of git the set-url subcommand of the remote command is not available so you may have to do that instead:

git remote rm origin
git remote add origin git@git.epn-campus.eu:Framework4.git
git config branch.master.remote origin
git config branch.master.merge refs/heads/master

Git will now use the ssh url for all its operations on the Framework.

You may also want to configure your user name and email, as it will appear in git logs:

git config --global user.email your@email
git config --global user.name "Your Name" 

Drop the global option if you want to use these settings for the Framework only.

Available Bricks

Once you checked out, please look into

Framework4/GUI/Bricks

Writing components for the Framework

You should first get familiar with the concept of signals and slots used by the framework.

Writing a Brick

See how to write a Brick

Writing a Control Object

See how to write a Control Object.