Add eachdist.py to simplify build (#291)

This commit is contained in:
Christian Neumüller
2019-12-10 02:54:56 +01:00
committed by Chris Kleinknecht
parent f5ca0bffad
commit f6d132f61d
4 changed files with 38 additions and 59 deletions

View File

@ -11,6 +11,8 @@ exclude =
.svn .svn
.tox .tox
CVS CVS
.venv*/
venv*/
target target
__pycache__ __pycache__
ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/ ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/

View File

@ -13,5 +13,5 @@ line_length=79
; docs: https://github.com/timothycrosley/isort#multi-line-output-modes ; docs: https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output=3 multi_line_output=3
skip=target skip=target
skip_glob=ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/* skip_glob=ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/*,.venv*/*,venv*/*
known_first_party=opentelemetry known_first_party=opentelemetry

16
eachdist.ini Normal file
View File

@ -0,0 +1,16 @@
# These will be sorted first in that order.
# All packages that are depended upon by others should be listed here.
[DEFAULT]
sortfirst=
opentelemetry-api
opentelemetry-sdk
ext/opentelemetry-ext-wsgi
ext/*
[lintroots]
extraroots=examples/*,scripts/
subglob=*.py,tests/,test/,src/*,examples/*
[testroots]
extraroots=examples/*,tests/
subglob=tests/,test/

77
tox.ini
View File

@ -22,10 +22,11 @@ python =
[testenv] [testenv]
deps = deps =
-c dev-requirements.txt
test: pytest test: pytest
coverage: pytest coverage: pytest
coverage: pytest-cov coverage: pytest-cov
mypy,mypyinstalled: mypy==0.740 mypy,mypyinstalled: mypy
setenv = setenv =
mypy: MYPYPATH={toxinidir}/opentelemetry-api/src/ mypy: MYPYPATH={toxinidir}/opentelemetry-api/src/
@ -73,15 +74,7 @@ commands_pre =
; In order to get a healthy coverage report, ; In order to get a healthy coverage report,
; we have to install packages in editable mode. ; we have to install packages in editable mode.
coverage: pip install -e {toxinidir}/opentelemetry-api coverage: python {toxinidir}/scripts/eachdist.py install --editable
coverage: pip install -e {toxinidir}/opentelemetry-sdk
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-http-requests
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-jaeger
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-opentracing-shim
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-testutil
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-wsgi
coverage: pip install -e {toxinidir}/ext/opentelemetry-ext-flask[test]
coverage: pip install -e {toxinidir}/examples/opentelemetry-example-app
; Using file:// here because otherwise tox invokes just "pip install ; Using file:// here because otherwise tox invokes just "pip install
; opentelemetry-api", leading to an error ; opentelemetry-api", leading to an error
@ -104,56 +97,24 @@ commands =
basepython: python3.7 basepython: python3.7
recreate = True recreate = True
deps = deps =
pylint~=2.3 -c dev-requirements.txt
flake8~=3.7 pylint
isort~=4.3 flake8
black>=19.3b0,==19.* isort
black
commands_pre = commands_pre =
pip install -e {toxinidir}/opentelemetry-api python scripts/eachdist.py install --editable
pip install -e {toxinidir}/opentelemetry-sdk
pip install -e {toxinidir}/ext/opentelemetry-ext-http-requests
pip install -e {toxinidir}/ext/opentelemetry-ext-jaeger
pip install -e {toxinidir}/ext/opentelemetry-ext-pymongo
pip install -e {toxinidir}/ext/opentelemetry-ext-testutil
pip install -e {toxinidir}/ext/opentelemetry-ext-wsgi
pip install -e {toxinidir}/ext/opentelemetry-ext-flask[test]
pip install -e {toxinidir}/examples/opentelemetry-example-app
pip install -e {toxinidir}/ext/opentelemetry-ext-opentracing-shim
commands = commands =
; Prefer putting everything in one pylint command to profit from duplication python scripts/eachdist.py lint --check-only
; warnings.
black --check --diff .
pylint opentelemetry-api/src/opentelemetry \
opentelemetry-api/tests/ \
opentelemetry-sdk/src/opentelemetry \
opentelemetry-sdk/tests/ \
ext/opentelemetry-ext-http-requests/src/ \
ext/opentelemetry-ext-http-requests/tests/ \
ext/opentelemetry-ext-jaeger/src/opentelemetry \
ext/opentelemetry-ext-jaeger/tests/ \
ext/opentelemetry-ext-opentracing-shim/src/ \
ext/opentelemetry-ext-opentracing-shim/tests/ \
ext/opentelemetry-ext-pymongo/src/opentelemetry \
ext/opentelemetry-ext-pymongo/tests/ \
ext/opentelemetry-ext-testutil/src/opentelemetry \
ext/opentelemetry-ext-wsgi/src/ \
ext/opentelemetry-ext-wsgi/tests/ \
ext/opentelemetry-ext-flask/src/ \
ext/opentelemetry-ext-flask/tests/ \
examples/opentelemetry-example-app/src/opentelemetry_example_app/ \
examples/opentelemetry-example-app/tests/ \
examples/basic_tracer/ \
examples/http/
flake8 .
isort --check-only --diff --recursive .
[testenv:docs] [testenv:docs]
deps = deps =
sphinx~=2.1 -c dev-requirements.txt
sphinx-rtd-theme~=0.4 sphinx
sphinx-autodoc-typehints~=1.10.2 sphinx-rtd-theme
sphinx-autodoc-typehints
opentracing~=2.2.0 opentracing~=2.2.0
Deprecated>=1.2.6 Deprecated>=1.2.6
@ -172,11 +133,11 @@ deps =
requests~=2.7 requests~=2.7
commands_pre = commands_pre =
pip install -e {toxinidir}/opentelemetry-api pip install -e {toxinidir}/opentelemetry-api \
pip install -e {toxinidir}/opentelemetry-sdk -e {toxinidir}/opentelemetry-sdk \
pip install -e {toxinidir}/ext/opentelemetry-ext-http-requests -e {toxinidir}/ext/opentelemetry-ext-http-requests \
pip install -e {toxinidir}/ext/opentelemetry-ext-wsgi -e {toxinidir}/ext/opentelemetry-ext-wsgi \
pip install -e {toxinidir}/ext/opentelemetry-ext-flask -e {toxinidir}/ext/opentelemetry-ext-flask
commands = commands =
{toxinidir}/scripts/tracecontext-integration-test.sh {toxinidir}/scripts/tracecontext-integration-test.sh