disnake
/
setup.py
51 строка · 1.3 Кб
1# SPDX-License-Identifier: MIT
2
3import re
4
5from setuptools import setup
6
7version = ""
8with open("disnake/__init__.py", encoding="utf-8") as f:
9version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1) # type: ignore
10
11if not version:
12raise RuntimeError("version is not set")
13
14if version.endswith(("a", "b", "rc")):
15# append version identifier based on commit count
16try:
17import subprocess # noqa: TID251
18
19p = subprocess.Popen(
20["git", "rev-list", "--count", "HEAD"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
21)
22out, err = p.communicate()
23if out:
24version += out.decode("utf-8").strip()
25p = subprocess.Popen(
26["git", "rev-parse", "--short", "HEAD"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
27)
28out, err = p.communicate()
29if out:
30version += "+g" + out.decode("utf-8").strip()
31except Exception:
32pass
33
34packages = [
35"disnake",
36"disnake.bin",
37"disnake.types",
38"disnake.ui",
39"disnake.ui.select",
40"disnake.webhook",
41"disnake.interactions",
42"disnake.ext.commands",
43"disnake.ext.tasks",
44"disnake.ext.mypy_plugin",
45]
46
47setup(
48version=version,
49packages=packages,
50include_package_data=True,
51)
52