|
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