64bd692632
* Pep8 fixes * tox Pep8 compliance * Excluded external tools folder from flake 8 tests * Added Flake 8 exclusions * Pep8 fixes * Pep8 fixes * Corrected type * Pep8 fixes * Pep 8 compliance * Pep8 fixes * Pep8 fixes * Pep8 fixes * Pep8 fixes * Pep 8 fixes * Pep 8 fixes * Pep8 fixes * Pep8 fixes * Pep8 fixes * Pep8 * Pep8 * Pep 8 * Pep 8 * Pep8 fixes * Pep8 * Pep8 * Pep8 * Pep8 fixes * Pep8 fixes * Pep8 fixes * Pep8 fixes * Pep8 fixes * Revert chagnes * Revert changes to kivy/__init.py * Revert changes * REvert changes * Revert changes * Revert changes to toolchain * Add files exclusions to tox.ini * Added exclusions for alias recipes * Remove dead code * Added py extension to recipes * Removed recipe build skip * Improves recipe matching Previous expression was matching all the following three lines of a `git diff --name-only` output. ``` recipes/hostlibffi/__init__.py recipes/hostpython.py recipes/hostpython2/__init__.py ``` This was resulting to a bug when later splitting with `recipe = file_path.split('/')[1]` the `recipes/hostpython.py` string would return including the `\n` new line char, see: ``` >>> 'recipes/hostpython.py\n'.split('/')[1] 'hostpython.py\n' >>> 'recipes/hostlibffi/__init__.py\n'.split('/')[1] 'hostlibffi' >>> ``` Co-authored-by: Andre Miras <AndreMiras@users.noreply.github.com>
29 lines
968 B
Python
29 lines
968 B
Python
import sh
|
|
import subprocess
|
|
from fnmatch import fnmatch
|
|
|
|
|
|
def modified_recipes(branch='origin/master'):
|
|
"""
|
|
Returns a set of modified recipes between the current branch and the one
|
|
in param.
|
|
"""
|
|
# using the contrib version on purpose rather than sh.git, since it comes
|
|
# with a bunch of fixes, e.g. disabled TTY, see:
|
|
# https://stackoverflow.com/a/20128598/185510
|
|
sh.contrib.git.fetch("origin", "master")
|
|
git_diff = sh.contrib.git.diff('--name-only', branch)
|
|
recipes = set()
|
|
for file_path in git_diff:
|
|
if fnmatch(file_path, "recipes/*/__init__.py\n"):
|
|
recipe = file_path.split('/')[1]
|
|
recipes.add(recipe)
|
|
return recipes
|
|
|
|
|
|
if __name__ == "__main__":
|
|
updated_recipes = " ".join(modified_recipes())
|
|
if updated_recipes != '':
|
|
subprocess.run(f"python3 toolchain.py build {updated_recipes}", shell=True, check=True)
|
|
else:
|
|
print("Nothing to do. No updated recipes.")
|