Skip to content

Commit 0fd3443

Browse files
committed
simplify and improve skipping
1 parent 03d966f commit 0fd3443

File tree

2 files changed

+14
-67
lines changed

2 files changed

+14
-67
lines changed

vinca/distro.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def name(self):
3737
def add_packages(self, packages):
3838
self.build_packages = set(packages)
3939

40-
def get_depends(self, pkg):
40+
def get_depends(self, pkg, ignore_pkgs=None):
4141
dependencies = set()
4242
dependencies |= self._walker.get_recursive_depends(
4343
pkg,
@@ -51,6 +51,7 @@ def get_depends(self, pkg):
5151
"exec",
5252
],
5353
ros_packages_only=True,
54+
ignore_pkgs=ignore_pkgs
5455
)
5556
return dependencies
5657

vinca/main.py

Lines changed: 12 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -552,87 +552,33 @@ def get_selected_packages(distro, vinca_conf):
552552
if vinca_conf.get("build_all", False):
553553
selected_packages = set(distro._distro.release_packages.keys())
554554
elif vinca_conf["packages_select_by_deps"]:
555+
556+
if (
557+
"packages_skip_by_deps" in vinca_conf
558+
and vinca_conf["packages_skip_by_deps"] is not None
559+
):
560+
for i in vinca_conf["packages_skip_by_deps"]:
561+
skipped_packages = skipped_packages.union([i, i.replace("-", "_")])
562+
print("Skipped pkgs: ", skipped_packages)
555563
for i in vinca_conf["packages_select_by_deps"]:
556564
i = i.replace("-", "_")
557565
selected_packages = selected_packages.union([i])
558566
if "skip_all_deps" not in vinca_conf or not vinca_conf["skip_all_deps"]:
567+
if i in skipped_packages:
568+
continue
559569
try:
560-
pkgs = distro.get_depends(i)
570+
pkgs = distro.get_depends(i, ignore_pkgs=skipped_packages)
561571
except KeyError:
562572
# handle (rare) package names that use "-" as separator
563573
pkgs = distro.get_depends(i.replace("_", "-"))
564574
selected_packages.remove(i)
565575
selected_packages.add(i.replace("_", "-"))
566576
selected_packages = selected_packages.union(pkgs)
567577

568-
if (
569-
"packages_skip_by_deps" in vinca_conf
570-
and vinca_conf["packages_skip_by_deps"] is not None
571-
):
572-
for i in vinca_conf["packages_skip_by_deps"]:
573-
i = i.replace("-", "_")
574-
skipped_packages = skipped_packages.union([i])
575-
try:
576-
pkgs = distro.get_depends(i)
577-
except KeyError:
578-
# handle (rare) package names that use "-" as separator
579-
pkgs = distro.get_depends(i.replace("_", "-"))
580-
selected_packages.remove(i)
581-
selected_packages.add(i.replace("_", "-"))
582-
skipped_packages = skipped_packages.union(pkgs)
583-
result = selected_packages.difference(skipped_packages)
584-
result = sorted(list(result))
578+
result = sorted(list(selected_packages))
585579
return result
586580

587581

588-
# def parse_dep(dep, vinca_conf, distro):
589-
# res = dep.name
590-
# res = resolve_pkgname(res, vinca_conf, distro)
591-
592-
# if dep.version_eq :
593-
# return res + " ==" + dep.version_eq
594-
595-
# if dep.version_gt :
596-
# res = res + " >" + dep.version_gt
597-
598-
# if dep.version_lt :
599-
# res = res + ", <" + dep.version_lt
600-
601-
# if dep.version_lte :
602-
# res = res + ", <=" + dep.version_lte
603-
604-
# return res
605-
606-
# if dep.version_gte :
607-
# res = res + " >=" + dep.version_gte
608-
609-
# if dep.version_lt :
610-
# res = res + ", <" + dep.version_lt
611-
612-
# return res
613-
614-
# if dep.version_lt :
615-
# res = res + " <" + dep.version_lt
616-
617-
# if dep.version_gt :
618-
# res = res + ", >" + dep.version_gt
619-
620-
# if dep.version_gte :
621-
# res = res + ", >=" + dep.version_gte
622-
623-
# return res
624-
625-
# if dep.version_lte :
626-
# res = res + " <=" + dep.version_lte
627-
628-
# if dep.version_gt :
629-
# res = res + ", >" + dep.version_gt
630-
631-
# return res
632-
633-
# return res
634-
635-
636582
def parse_package(pkg, distro, vinca_conf, path):
637583

638584
name = pkg["name"].replace("_", "-")

0 commit comments

Comments
 (0)