Difference between revisions of "Developing Oolite"

From Elite Wiki
(On Linux)
(On Linux)
Line 99: Line 99:
  
 
The only plugin for objective-c on eclipse is discontinued.
 
The only plugin for objective-c on eclipse is discontinued.
 +
 +
You can see the call hierarchy in the doxygen documentation.

Revision as of 15:06, 19 March 2015

Overview

This page intends to allow you to setup an environment to develop Oolite.

Versioning

When developing software, each little modification is tracked independently and assigned a version identifier. That's called versioning. To do this, we use the git software.

The Oolite code is hosted on a git-friendly repository: github.

Creating a GitHub account

Go to https://github.com/ and create an account.

Creating a branch on GitHub

Fork the oolite main branch.

Fetching your branch

We now repatriate the code locally: we fetch it.

On Windows

to be completed

On Mac OSX

to be completed

On Linux

Installing git

We need git for this. Installing it depends on your distribution. For ubuntu: sudo apt-get install git

Fetching

$git fetch --help

Documentation

The documentation is automatically generated from the source code. When generated, it's 700mb heavy !

Pre-requisites

Installing Doxygen

On Windows

to be completed

On Mac OSX

to be completed

On Linux

It depends on your distribution. For Ubuntu: sudo apt-get install doxygen

Generation

The documentation is generated into a html sub-directory.

On Windows

to be completed

On Mac OSX

to be completed

On Linux

Go into your oolite directory and just do: $doxygen Doxyfile

Setting up your development environment

On Windows

to be completed

On Mac OSX

to be completed

On Linux

Do as you wish :-)

I use vim + youcompleteme.

There's no IDE on linux managing objective-c (at least not Eclipse and Intellij). Auto-completion doesn't work in most of them because the xCode libraries aren't available (they're on OS X).

The only plugin for objective-c on eclipse is discontinued.

You can see the call hierarchy in the doxygen documentation.