|
17 | 17 | DEFAULT_ALLSEP = " "
|
18 | 18 | DEFAULT_ALLFMT = "{rel}"
|
19 | 19 |
|
| 20 | +NON_SRC_DIRS = ["build", "dist", "__pycache__", "lib", "venv", ".tox"] |
| 21 | + |
20 | 22 |
|
21 | 23 | def unique(elems):
|
22 | 24 | seen = set()
|
@@ -591,7 +593,17 @@ def update_changelogs(version):
|
591 | 593 |
|
592 | 594 |
|
593 | 595 | def find(name, path):
|
| 596 | + non_src_dirs = [os.path.join(path, nsd) for nsd in NON_SRC_DIRS] |
| 597 | + |
| 598 | + def _is_non_src_dir(root) -> bool: |
| 599 | + for nsd in non_src_dirs: |
| 600 | + if root.startswith(nsd): |
| 601 | + return True |
| 602 | + return False |
| 603 | + |
594 | 604 | for root, _, files in os.walk(path):
|
| 605 | + if _is_non_src_dir(root): |
| 606 | + continue |
595 | 607 | if name in files:
|
596 | 608 | return os.path.join(root, name)
|
597 | 609 | return None
|
@@ -669,13 +681,16 @@ def release_args(args):
|
669 | 681 | cfg.read(str(find_projectroot() / "eachdist.ini"))
|
670 | 682 | versions = args.versions
|
671 | 683 | updated_versions = []
|
| 684 | + |
| 685 | + excluded = cfg["exclude_release"]["packages"].split() |
| 686 | + targets = [target for target in targets if basename(target) not in excluded] |
672 | 687 | for group in versions.split(","):
|
673 | 688 | mcfg = cfg[group]
|
674 | 689 | version = mcfg["version"]
|
675 | 690 | updated_versions.append(version)
|
676 | 691 | packages = None
|
677 | 692 | if "packages" in mcfg:
|
678 |
| - packages = mcfg["packages"].split() |
| 693 | + packages = [pkg for pkg in mcfg["packages"].split() if pkg not in excluded] |
679 | 694 | print(f"update {group} packages to {version}")
|
680 | 695 | update_dependencies(targets, version, packages)
|
681 | 696 | update_version_files(targets, version, packages)
|
|
0 commit comments