Cytoscape Projects at Github

Introduction

This is a document for developers who are interested in Cytoscape 3.x core development.

Cytoscape Core projects are now hosted at GitHub. To work on the core, you need to learn how to use git. Please read some books/documents about git and understand basic concepts of distributed source code management system.

Cytoscape 3 Core Projects

(This section is not finished yet)

parent

This project contains only one pom.xml file. This is the parent of many sub-projects. Important version numbers, such as OSGi runtime version, maven plugin versions are stored as properties in this file.

api

This project defines public API set for Cytoscape 3. We will not change these API for minor releases.

impl

Actual implementation code. In general, these are hidden from 3rd party developers and not accessible.

support

Misc. sub modules for Cytoscape 3 distributions.

gui-distribution

Desktop version of Cytoscape 3.

headless-distribution

Experimental command-line version of Cytoscape. This will be included from 3.1.x releases.

app-developer

Creates support JAR file for App developers. This bundle also creates public API JavaDocs.

samples

Sample code projects.

Clone Cytoscape 3 Core Projects with repo

Please read README.md file for the latest information.

Working with Branches

http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png

(This image was created by Vincent Driessen)

Branching Model for Cytoscape Core Projects

Cytoscape Core projects use the following branching model:

This is one of the best practices used in developers community using git. The following two branches always exist for all sub-projects:

In addition to these branches, we use the following branches:

Feature Branches and git-flow

Branching is a very lightweight operation in git. Instead of sticking to one develop branch, creating feature branches is always encouraged.

Git-flow is a collection of shell scripts to save your keystrokes when you perform branching, merging, and tagging.

If you want to create a new feature for Cytoscape, you can create new branch with the following command.

git flow feature start NEW_FEATURE_NAME

And once you finish it, you can run the following:

git flow feature finish NEW_FEATURE_NAME

This automatically merge your new feature back to develop, and delete the feature branch.

Questions?

Cytoscape mailing lists are the best place to ask questions.

Let's start social coding! Pull requests are always welcome.

Cytoscape_3/CoreDevelopment/GettingStartedGithub (last edited 2013-02-07 14:46:16 by PietMolenaar)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux