mirror of
https://github.com/chatmail/core.git
synced 2026-04-22 16:06:30 +03:00
try using setuptools_scm for automatic versioning based on py-* tags (#187)
* try using setuptools_scm for automatic versioning based on py-* tags * circument problem with pip-wheel isolation and setuptoosl_scm * always provide version, address @flub comment
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
0.600.1
|
||||||
|
---------
|
||||||
|
|
||||||
|
- introduce automatic versioning via setuptools_scm,
|
||||||
|
based on py-X.Y.Z tags
|
||||||
|
|
||||||
|
|
||||||
0.600.0
|
0.600.0
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|||||||
@@ -4,14 +4,19 @@ import re
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
long_description, version = read_meta()
|
with open("README.rst") as f:
|
||||||
|
long_description = f.read()
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name='deltachat',
|
name='deltachat',
|
||||||
version=version,
|
setup_requires=['setuptools_scm', 'cffi>=1.0.0'],
|
||||||
|
use_scm_version = {
|
||||||
|
"root": "..",
|
||||||
|
"relative_to": __file__,
|
||||||
|
'tag_regex': r'^(?P<prefix>py-)?(?P<version>[^\+]+)(?P<suffix>.*)?$',
|
||||||
|
},
|
||||||
description='Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat',
|
description='Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat',
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
author='holger krekel, Floris Bruynooghe, Bjoern Petersen and contributors',
|
author='holger krekel, Floris Bruynooghe, Bjoern Petersen and contributors',
|
||||||
setup_requires=['cffi>=1.0.0'],
|
|
||||||
install_requires=['cffi>=1.0.0', 'attrs', 'six'],
|
install_requires=['cffi>=1.0.0', 'attrs', 'six'],
|
||||||
packages=setuptools.find_packages('src'),
|
packages=setuptools.find_packages('src'),
|
||||||
package_dir={'': 'src'},
|
package_dir={'': 'src'},
|
||||||
@@ -27,18 +32,5 @@ def main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def read_meta():
|
|
||||||
with open(os.path.join("src", "deltachat", "__init__.py")) as f:
|
|
||||||
for line in f:
|
|
||||||
m = re.match('__version__ = "(\S*).*"', line)
|
|
||||||
if m:
|
|
||||||
version, = m.groups()
|
|
||||||
break
|
|
||||||
|
|
||||||
with open("README.rst") as f:
|
|
||||||
long_desc = f.read()
|
|
||||||
return long_desc, version
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -2,7 +2,12 @@ from deltachat import capi, const
|
|||||||
from deltachat.capi import ffi
|
from deltachat.capi import ffi
|
||||||
from deltachat.account import Account # noqa
|
from deltachat.account import Account # noqa
|
||||||
|
|
||||||
__version__ = "0.600.0"
|
from pkg_resources import get_distribution, DistributionNotFound
|
||||||
|
try:
|
||||||
|
__version__ = get_distribution(__name__).version
|
||||||
|
except DistributionNotFound:
|
||||||
|
# package is not installed
|
||||||
|
__version__ = "0.0.0.dev0-unknown"
|
||||||
|
|
||||||
|
|
||||||
_DC_CALLBACK_MAP = {}
|
_DC_CALLBACK_MAP = {}
|
||||||
|
|||||||
15
python/tests/package_wheels.py
Normal file
15
python/tests/package_wheels.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
assert len(sys.argv) == 2
|
||||||
|
wheelhousedir = sys.argv[1]
|
||||||
|
# pip wheel will build in an isolated tmp dir that does not have git
|
||||||
|
# history so setuptools_scm can not automatically determine a
|
||||||
|
# version there. So pass in the version through an env var.
|
||||||
|
version = subprocess.check_output(["python", "setup.py", "--version"]).strip().split(b"\n")[-1]
|
||||||
|
os.environ["SETUPTOOLS_SCM_PRETEND_VERSION"] = version.decode("ascii")
|
||||||
|
subprocess.check_call(("pip wheel . -w %s" % wheelhousedir).split())
|
||||||
@@ -9,7 +9,7 @@ envlist =
|
|||||||
[testenv]
|
[testenv]
|
||||||
commands =
|
commands =
|
||||||
pytest -rsXx {posargs:tests}
|
pytest -rsXx {posargs:tests}
|
||||||
pip wheel . -w {toxworkdir}/wheelhouse
|
python tests/package_wheels.py {toxworkdir}/wheelhouse
|
||||||
passenv =
|
passenv =
|
||||||
TRAVIS
|
TRAVIS
|
||||||
DCC_RS_DEV
|
DCC_RS_DEV
|
||||||
|
|||||||
Reference in New Issue
Block a user