Difference between revisions of "Developer's Corner"
Cholmondely (talk | contribs) m (Tagged as "Oolite Development") |
(Add new page about Clang) |
||
| (7 intermediate revisions by 3 users not shown) | |||
| Line 5: | Line 5: | ||
* [[Branding]] | * [[Branding]] | ||
* [https://ooliteproject.github.io/oolite/ Oolite API documentation] | * [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 == | == OS Specific parts == | ||
| Line 13: | Line 17: | ||
! Procedure !! Apple Mac !! Linux !! Windows | ! Procedure !! Apple Mac !! Linux !! Windows | ||
|- | |- | ||
| − | | Setting up a development environment || [[Development on Apple Mac]] || [[Development on Linux]] || [[Development on 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]] | + | | Compiling || [[Compiling on Apple Mac]] || [[Compiling on Linux]] || [[Developing Oolite#On_Windows_2 | Compiling on Windows]] |
|- | |- | ||
| Testing || [[Testing on Apple Mac]] || [[Testing on Linux]] || [[Testing on Windows]] | | Testing || [[Testing on Apple Mac]] || [[Testing on Linux]] || [[Testing on Windows]] | ||
| Line 23: | Line 27: | ||
| Running || [[Running_Oolite-Mac]] || || | | Running || [[Running_Oolite-Mac]] || || | ||
|} | |} | ||
| + | |||
| + | ==Releasing the code== | ||
| + | |||
| + | Once you developed a while you are no longer happy that all you 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]] | [[Category:Oolite Development]] | ||
| + | |||
== Hints == | == Hints == | ||
Latest revision as of 05:39, 23 July 2025
Here you will find information that helps understanding the Oolite source code, build and test the project.
- Contributing to the project
- Release Process
- Branding
- Oolite API documentation
- Doxygen Documentation
- Code Coverage Report
- Cross Platform IDEs
- Compiling with Clang instead of gcc (Windows/Linux)
OS Specific parts
| 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 | Testing on Linux | Testing on Windows |
| 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 are no longer happy that all you 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 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