Difference between revisions of "Oolite build system"
From Elite Wiki
| (6 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
! Build Step !! Description !! Requires !! Provides | ! Build Step !! Description !! Requires !! Provides | ||
|- | |- | ||
| − | | configure system manually |||||| | + | | configure system manually || A developer will maintain his development system will all the required tools and dependencies to build Oolite. Should be supported by scripts. || nothing || configured system |
|- | |- | ||
| − | | checkout code |||||| | + | | checkout code || Clone and checkout from the Oolite git repository so it resides in the local filesystem. || configured system || working tree |
|- | |- | ||
| − | | change code |||||| | + | | change code || A developer will change code in the local filesystem to whatever extent. || working tree || modified working tree |
|- | |- | ||
| − | | meson setup |||||| | + | | meson setup || || working tree || meson configuration files |
|- | |- | ||
| − | | meson compile |||||| | + | | meson compile || || meson configuration files || compiled and linked output in the build directory |
|- | |- | ||
| − | | test/debug manually |||||| | + | | test/debug manually || A developer will test manually, focusing on the changes he/she applied. || compiled and linked output in the build directory || nothing |
|- | |- | ||
| − | | meson test |||||| | + | | meson test || runs predefined tests || compiled and linked output in the build directory || error log and return status code |
|- | |- | ||
| − | | meson install |||||| | + | | meson install || copies Oolite files to another location on disk || compiled and linked output in the build directory || files in new output location |
|- | |- | ||
| − | | meson uninstall |||||| | + | | meson uninstall || reverse opertion for meson install. Removes the files from the new output location || files in new output location || nothing |
|- | |- | ||
| − | | push changes | Push the changes back into the Oolite repository. Likely involves commit and pull request actions. |||| | + | | push changes || Push the changes back into the Oolite repository. Likely involves commit and pull request actions. || modified working tree || unmodified working tree |
|- | |- | ||
| − | | configure system automatically |||||| | + | | configure system automatically || Similar to the `configure system manually` step, in CI builds all this has to be scripted. || nothing || configured system |
|- | |- | ||
| − | | calculate version number | Generates the checked out version's semver. || | + | | calculate version number || Generates the checked out version's semver. || working tree || |
|- | |- | ||
| − | | generate tar.gz | Generates an Oolite distribution as tar ball. |||| | + | | generate tar.gz || Generates an Oolite distribution as tar ball. || compiled and linked output in the build directory || the tar.gz file |
|- | |- | ||
| − | | generate AppImage | Generates a Linux AppImage. |||| | + | | generate AppImage || Generates a Linux AppImage. || the tar.gz file || the AppImage |
|- | |- | ||
| − | | generate Flatpak | Generates a Linux Flatpak image. |||| | + | | generate Flatpak || Generates a Linux Flatpak image. || the tar.gz file || the Flatpak |
|- | |- | ||
| − | | generate MSIX | Generates a Windows installer for Oolite using MSIX. |||| | + | | generate MSIX || Generates a Windows installer for Oolite using MSIX. || the tar.gz file || the MSIX package |
|- | |- | ||
| − | | generate NSIS | Generates a Windows installer for Oolite using NSIS. |||| | + | | generate NSIS || Generates a Windows installer for Oolite using NSIS. || the tar.gz file || the executable installer |
|- | |- | ||
| − | | tag source code | | + | | tag source code || The CI run will tag the version in the official repository so it is available to all other steps. || the version number || tagged git revision |
|- | |- | ||
| − | | upload artifacts |||||| | + | | upload artifacts || Uploads generated artifacts to a Github Release so they are available to the public. || any kind of artifact || artifacts attached to the release on Github |
|- | |- | ||
| − | | prepare |||||| | + | | prepare || Similar to the `configure system automatically` step, this step will prepare an AUR build environment to build Oolite. || nothing || configured system |
|- | |- | ||
| − | | pkgver |||||| | + | | pkgver || Checks the version tag of the local source code and transforms it from semver to an AUR package version number. |||| |
|- | |- | ||
| − | | package |||||| | + | | package || Generates the AUR package. |||| |
|- | |- | ||
| − | | publish on AUR |||||| | + | | publish on AUR || Pushes the AUR package into the AUR repository. |||| |
|} | |} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
{ | { | ||
| + | "builder": "unknown", | ||
"title": "Oolite core", | "title": "Oolite core", | ||
"identifier": "org.oolite.oolite", | "identifier": "org.oolite.oolite", | ||
| Line 92: | Line 65: | ||
"expansion_catalog": "https://addons.oolite.space/api/1.0/overview/" | "expansion_catalog": "https://addons.oolite.space/api/1.0/overview/" | ||
} | } | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Latest revision as of 15:33, 10 July 2026
Here is the result of this forum thread: gitversion.sh / meson.build changes
| Build Step | Description | Requires | Provides |
|---|---|---|---|
| configure system manually | A developer will maintain his development system will all the required tools and dependencies to build Oolite. Should be supported by scripts. | nothing | configured system |
| checkout code | Clone and checkout from the Oolite git repository so it resides in the local filesystem. | configured system | working tree |
| change code | A developer will change code in the local filesystem to whatever extent. | working tree | modified working tree |
| meson setup | working tree | meson configuration files | |
| meson compile | meson configuration files | compiled and linked output in the build directory | |
| test/debug manually | A developer will test manually, focusing on the changes he/she applied. | compiled and linked output in the build directory | nothing |
| meson test | runs predefined tests | compiled and linked output in the build directory | error log and return status code |
| meson install | copies Oolite files to another location on disk | compiled and linked output in the build directory | files in new output location |
| meson uninstall | reverse opertion for meson install. Removes the files from the new output location | files in new output location | nothing |
| push changes | Push the changes back into the Oolite repository. Likely involves commit and pull request actions. | modified working tree | unmodified working tree |
| configure system automatically | Similar to the `configure system manually` step, in CI builds all this has to be scripted. | nothing | configured system |
| calculate version number | Generates the checked out version's semver. | working tree | |
| generate tar.gz | Generates an Oolite distribution as tar ball. | compiled and linked output in the build directory | the tar.gz file |
| generate AppImage | Generates a Linux AppImage. | the tar.gz file | the AppImage |
| generate Flatpak | Generates a Linux Flatpak image. | the tar.gz file | the Flatpak |
| generate MSIX | Generates a Windows installer for Oolite using MSIX. | the tar.gz file | the MSIX package |
| generate NSIS | Generates a Windows installer for Oolite using NSIS. | the tar.gz file | the executable installer |
| tag source code | The CI run will tag the version in the official repository so it is available to all other steps. | the version number | tagged git revision |
| upload artifacts | Uploads generated artifacts to a Github Release so they are available to the public. | any kind of artifact | artifacts attached to the release on Github |
| prepare | Similar to the `configure system automatically` step, this step will prepare an AUR build environment to build Oolite. | nothing | configured system |
| pkgver | Checks the version tag of the local source code and transforms it from semver to an AUR package version number. | ||
| package | Generates the AUR package. | ||
| publish on AUR | Pushes the AUR package into the AUR repository. |
{
"builder": "unknown",
"title": "Oolite core",
"identifier": "org.oolite.oolite",
"required_oolite_version": "1.93",
"license": "GPL 2+ / CC-BY-NC-SA 3.0 - see LICENSE.md for details",
"author": "Giles Williams, Jens Ayton and contributors",
"information_url": "https://oolite.space/",
"expansion_catalog": "https://addons.oolite.space/api/1.0/overview/"
}