Merge pull request #2523 from RonnyPfannschmidt/vendoring-tasks

Vendoring tasks
This commit is contained in:
Bruno Oliveira 2017-06-23 16:55:32 -03:00 committed by GitHub
commit 6e2b5a3f1b
3 changed files with 30 additions and 2 deletions

1
changelog/2474.trivial Normal file
View File

@ -0,0 +1 @@
Create invoke tasks for updating the vendored packages.

View File

@ -4,6 +4,10 @@ Invoke tasks to help with pytest development and release process.
import invoke
from . import generate
from . import generate, vendoring
ns = invoke.Collection(generate)
ns = invoke.Collection(
generate,
vendoring
)

23
tasks/vendoring.py Normal file
View File

@ -0,0 +1,23 @@
from __future__ import absolute_import, print_function
import py
import invoke
VENDOR_TARGET = py.path.local("_pytest/vendored_packages")
GOOD_FILES = 'README.md', '__init__.py'
@invoke.task()
def remove_libs(ctx):
print("removing vendored libs")
for path in VENDOR_TARGET.listdir():
if path.basename not in GOOD_FILES:
print(" ", path)
path.remove()
@invoke.task(pre=[remove_libs])
def update_libs(ctx):
print("installing libs")
ctx.run("pip install -t {target} pluggy".format(target=VENDOR_TARGET))
ctx.run("git add {target}".format(target=VENDOR_TARGET))
print("Please commit to finish the update after running the tests:")
print()
print(' git commit -am "Updated vendored libs"')