Specify version in la_chariotte.__version__ only

Rather than having the version specified in different locations. This uses
setuptools dynamic features.
This commit is contained in:
Alexis Métaireau 2023-08-13 02:18:12 +02:00
parent 42013d8e9a
commit d11cdb5eb8
6 changed files with 19 additions and 4 deletions

View file

@ -31,7 +31,7 @@ le numéro de version MAJEUR quand il y a des changements non rétrocompatibles,
le numéro de version MINEUR quand il y a des ajouts de fonctionnalités rétrocompatibles, le numéro de version MINEUR quand il y a des ajouts de fonctionnalités rétrocompatibles,
le numéro de version de CORRECTIF quand il y a des corrections danomalies rétrocompatibles. le numéro de version de CORRECTIF quand il y a des corrections danomalies rétrocompatibles.
La version est à mettre à jour dans le CHANGELOG, README, dans le pyproject.toml, dans le footer (base.html), seulement lorsque develop est mergé dans main. La version est à mettre à jour dans `la_chariotte.__init__.py` lors des releases.
## Développement ## Développement

View file

@ -0,0 +1 @@
__version__ = "1.0.0-dev"

View file

@ -0,0 +1,5 @@
from la_chariotte import __version__
def inject_version(request):
return {"version": __version__}

View file

@ -61,6 +61,7 @@ TEMPLATES = [
"django.template.context_processors.request", "django.template.context_processors.request",
"django.contrib.auth.context_processors.auth", "django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages", "django.contrib.messages.context_processors.messages",
"la_chariotte.context_processors.inject_version",
], ],
}, },
}, },

View file

@ -130,7 +130,7 @@
<div class="content has-text-centered columns"> <div class="content has-text-centered columns">
<div class="column"> <div class="column">
<p> <p>
<strong>La Chariotte</strong> | version 1.0.0 <strong>La Chariotte</strong> | version {{ version }}
</p> </p>
</div> </div>
<div class="column"> <div class="column">

View file

@ -1,9 +1,10 @@
[project] [project]
name = "la_chariotte" name = "la_chariotte"
version = "1.0.0" dynamic = ["version"]
description = "Web application for organising grouped orders" description = "Web application for organising grouped orders"
authors = [{name = "Laetitia Getti", email = "laetitia@chariotte.fr"}] authors = [{name = "Laetitia Getti", email = "laetitia@chariotte.fr"}]
readme = "readMe.md" readme = "README.md"
license = {file = "LICENSE"} license = {file = "LICENSE"}
classifiers = ["License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"] classifiers = ["License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"]
dependencies = [ dependencies = [
@ -13,6 +14,13 @@ dependencies = [
"xhtml2pdf", "xhtml2pdf",
] ]
[tool.setuptools]
py-modules = ["la_chariotte"]
[tool.setuptools.dynamic]
version = {attr = "la_chariotte.__version__"}
[build-system] [build-system]
requires = [ requires = [
"setuptools","wheel" "setuptools","wheel"