Difference between revisions of "Developer's Corner"

From Elite Wiki
m (Minor tweaks for clarity)
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
Here you will find information that helps understanding the Oolite source code, build and test the project.
 
Here you will find information that helps understanding the Oolite source code, build and test the project.
  
- [https://ooliteproject.github.io/oolite/ Oolite API documentation]
+
* [[Contributing to the project]]
 +
* [[Release Process]]
 +
* [[Branding]]
 +
* [https://ooliteproject.github.io/oolite/ Oolite API documentation]
 +
* [https://ooliteproject.github.io/oolite/ Doxygen Documentation]
 +
* [https://ooliteproject.github.io/oolite/coverage/index.html Code Coverage Report]
 +
* [[Cross Platform IDEs]]
 +
* [[Compiling with Clang instead of gcc]] (Windows/Linux)
 +
 
 +
== OS Specific parts ==
 +
 
 +
{| class="wikitable" style="margin:auto"
 +
|+ Operating System dependent stuff
 +
|-
 +
! Procedure !! Apple Mac !! Linux !! Windows
 +
|-
 +
| Setting up a development environment || [[Development on Apple Mac]], [[Cross Platform IDEs]] || [[Development on Linux]], [[Cross Platform IDEs]] || [[Development on Windows]], [[Cross Platform IDEs]]
 +
|-
 +
| Compiling || [[Compiling on Apple Mac]] || [[Compiling on Linux]] || [[Developing Oolite#On_Windows_2 | Compiling on Windows]]
 +
|-
 +
| Testing || [[Testing on Apple Mac]], [[Common Testing]] || [[Testing on Linux]], [[Common Testing]] || [[Testing on Windows]], [[Common Testing]]
 +
|-
 +
| Packaging into Installer || [[Installer on Apple Mac]] || [[Installer on Linux]] || [[Installer on Windows]]
 +
|-
 +
| Running                  || [[Running Oolite-Mac]] || ||
 +
|}
 +
 
 +
==Releasing the code==
 +
 
 +
Once you developed a while you might no longer be happy that all you have created is called 'nightly' or 'prerelease' or 'unstable'.
 +
 
 +
If you are convinced the current status should be published as 'stable' or 'release', follow the [[Oolite Release Process]].
 +
 
 +
[[Category:Oolite Development]]
 +
 
 +
== Hints ==
 +
 
 +
The code is organized across several git repositories. The main one refers to the others as submodules - but always to a concise commit.
 +
 
 +
If you need to update submodules you also need to tell people to update the reference in the main repository. Here you can see that handling submodules can lead to strange effects: https://bb.oolite.space/viewtopic.php?f=3&t=21470
 +
 
 +
To learn mode about submodules read the fine manual at https://git-scm.com/book/en/v2/Git-Tools-Submodules

Latest revision as of 12:38, 22 April 2026

Here you will find information that helps understanding the Oolite source code, build and test the project.

OS Specific parts

Operating System dependent stuff
Procedure Apple Mac Linux Windows
Setting up a development environment Development on Apple Mac, Cross Platform IDEs Development on Linux, Cross Platform IDEs Development on Windows, Cross Platform IDEs
Compiling Compiling on Apple Mac Compiling on Linux Compiling on Windows
Testing Testing on Apple Mac, Common Testing Testing on Linux, Common Testing Testing on Windows, Common Testing
Packaging into Installer Installer on Apple Mac Installer on Linux Installer on Windows
Running Running Oolite-Mac

Releasing the code

Once you developed a while you might no longer be happy that all you have created is called 'nightly' or 'prerelease' or 'unstable'.

If you are convinced the current status should be published as 'stable' or 'release', follow the Oolite Release Process.

Hints

The code is organized across several git repositories. The main one refers to the others as submodules - but always to a concise commit.

If you need to update submodules you also need to tell people to update the reference in the main repository. Here you can see that handling submodules can lead to strange effects: https://bb.oolite.space/viewtopic.php?f=3&t=21470

To learn mode about submodules read the fine manual at https://git-scm.com/book/en/v2/Git-Tools-Submodules