示例#1
0
def create_manifest2(name,
                     description="",
                     buildtool_depends=["catkin"],
                     build_depends=[],
                     depends=[],
                     buildtool_export_depends=[],
                     build_export_depends=[],
                     exec_depends=[],
                     test_depends=[],
                     meta=False):
    package = Package(
        name=name,
        version="0.0.0",
        package_format=2,
        description=description,
        maintainers=[Person("John Foo", "*****@*****.**")],
        depends=[Dependency(d) for d in depends],
        buildtool_depends=[Dependency(d) for d in buildtool_depends],
        build_depends=[Dependency(d) for d in build_depends],
        buildtool_export_depends=[
            Dependency(d) for d in buildtool_export_depends
        ],
        build_export_depends=[Dependency(d) for d in build_export_depends],
        exec_depends=[Dependency(d) for d in exec_depends],
        test_depends=[Dependency(d) for d in test_depends],
        exports=[Export("metapackage")] if meta else [])
    if hasattr(package, "evaluate_conditions"):
        package.evaluate_conditions({})
    return package
    def test_evaluate_conditions(self):
        """Test if dependency conditions are properly evaluated"""

        env = create_env(system_pkgs=['python-yaml'])
        pkg = Package(
            name="mock",
            package_format=3,
            exec_depends=[
                Dependency('python-yaml',
                           condition='$ROS_PYTHON_VERSION == 2'),
                Dependency('python3-yaml',
                           condition='$ROS_PYTHON_VERSION == 3')
            ],
        )
        pkg.evaluate_conditions({'ROS_PYTHON_VERSION': 2})
        result = mock_lint(env, pkg, "", checks=cc.depends)
        self.assertEqual([], result)

        pkg.evaluate_conditions({'ROS_PYTHON_VERSION': 3})
        result = mock_lint(env, pkg, "", checks=cc.depends)
        self.assertEqual(["UNKNOWN_PACKAGE"], result)