aboutsummaryrefslogtreecommitdiff
path: root/docs/contributor_guide/build_package.md
diff options
context:
space:
mode:
authorThéo de la Hogue2024-09-12 18:12:10 +0200
committerThéo de la Hogue2024-09-12 18:12:10 +0200
commit836d9ba324fd485798392acfc38a9b1910805e07 (patch)
treefcad0bbf58641c7a994f1a21bad7753382ab8e2a /docs/contributor_guide/build_package.md
parentc6f6dd75bef943c4eef6353cab66628dc23abf6a (diff)
downloadargaze-836d9ba324fd485798392acfc38a9b1910805e07.zip
argaze-836d9ba324fd485798392acfc38a9b1910805e07.tar.gz
argaze-836d9ba324fd485798392acfc38a9b1910805e07.tar.bz2
argaze-836d9ba324fd485798392acfc38a9b1910805e07.tar.xz
Adding a build package documentation page.
Diffstat (limited to 'docs/contributor_guide/build_package.md')
-rw-r--r--docs/contributor_guide/build_package.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/contributor_guide/build_package.md b/docs/contributor_guide/build_package.md
new file mode 100644
index 0000000..fae1730
--- /dev/null
+++ b/docs/contributor_guide/build_package.md
@@ -0,0 +1,36 @@
+Build package
+=============
+
+ArGaze build system is based on [setuptools](https://setuptools.pypa.io/en/latest/userguide/index.html) and [setuptools-scm](https://setuptools-scm.readthedocs.io/en/latest/) to use Git tag as package version number.
+
+!!! note
+
+ *Consider that all inline commands below have to be executed at the root of ArGaze Git repository.*
+
+Install or upgrade the required packages:
+
+```console
+pip install build setuptools setuptools-scm
+```
+
+Commit last changes then, tag the Git repository with a VERSION that follows the [setuptools versionning schemes](https://setuptools.pypa.io/en/latest/userguide/distribution.html):
+
+```console
+git tag -a VERSION -m "Version message"
+```
+
+Push commits and tags:
+
+```console
+git push && git push --tags
+```
+
+Then, build package:
+```console
+python -m build
+```
+
+Once the build is done, two files are created in a *dist* folder:
+
+* **argaze-VERSION-py3-none-any.whl**: the built package (*none* means for no specific OS, *any* means for any architecture).
+* **argaze-VERSION.tar.gz**: the source package.