Development Environments

LinuxJohannes edited this page Jan 25, 2014 · 6 revisions
Clone this wiki locally

Development Environments

The following pages provide OS-specific instructions for setting up a development environment:

All of these platforms are fully supported and are expected to be viable environments in which to develop and test software for this project.

If you have any issues setting up a development environment, please let us know so that we can correct any mistakes and get you up and running.

If you want a quick and dirty way of starting to experiment with TauLabs code base you can try the development virtual machine.

Getting the code

The code for this project is stored in github. There are various ways to get the code depending on what your level of involvement is.

If you are not planning to contribute, just want to use it

You can grab a read-only clone of the source like this:

git clone git://github.com/TauLabs/TauLabs.git

If you would like to contribute back to the project

Code submissions are made easy by github's interface. Github encourages forks, so the process is easy and straightforward. If necessary, first make a new github account, and then click the "Fork" button in the top right corner. A new fork of TauLabs will be generated in your user account.

You may also want to take a look at some of the other articles in the BootCamp series at github.

If you have direct commit access to the TauLabs project

NOTE: This section only applies to a few people who are admins of the project. If you aren't an admin for TauLabs, you should skip this section.

If you have direct commit to the TauLabs repo, you can clone like this to get a read-write copy:

git clone git@github.TauLabs/TauLabs.git

Adding git remotes for other developers

The github workflow for contributing means that most developers will work primarily in their own fork of the source tree. To see their feature branches, you'll need to add their fork as a "remote" in your git clone.

You can see a list of all github forks of the source tree here on the Network Members Page.

Here are the git commands to add remotes for the recently active forks (alphabetical order):

git remote add gh-elafargue git://github.com/elafargue/TauLabs.git
git remote add gh-guilhermito git://github.com/guilhermito/TauLabs.git
git remote add gh-kenz git://github.com/kubark42/TauLabs.git
git remote add gh-lilvinz git://github.com/lilvinz/TauLabs.git
git remote add gh-peabody124 git://github.com/peabody124/TauLabs.git
git remote add gh-stac git://github.com/solidgoldbomb/TauLabs.git

You can update all of your remotes like this:

git remote update

You can create a branch from one of these remotes like this:

git checkout -tb myfeaturebranch gh-peabody124/somebranch

NOTE: Some of the admins of the project work directly within the TauLabs repository. You will find their feature branches in the upstream remote named like <username>/somefeature.

Submitting Code To TauLabs

Found a bug? Want to add a new feature? Please read over the Contributing Page for some helpful advice before you start coding.