示例#1
0
def test_install_rosdep_script_doesnot_exist(tmpdir):
    ws = Path(str(tmpdir))
    platform = Platform('aarch64', 'ubuntu', 'dashing')
    data_file = ws / rosdep_install_script(platform)
    data_file.parent.mkdir(parents=True)
    with pytest.raises(RuntimeError):
        assert_install_rosdep_script_exists(ws, platform)
示例#2
0
def cross_compile_pipeline(args: argparse.Namespace, ):
    platform = Platform(args.arch, args.os, args.rosdistro,
                        args.sysroot_base_image)

    ros_workspace_dir = Path(args.ros_workspace)
    skip_rosdep_keys = args.skip_rosdep_keys
    custom_data_dir = _path_if(args.custom_data_dir)
    custom_rosdep_script = _path_if(args.custom_rosdep_script)
    custom_setup_script = _path_if(args.custom_setup_script)

    sysroot_build_context = prepare_docker_build_environment(
        platform=platform,
        ros_workspace=ros_workspace_dir,
        custom_setup_script=custom_setup_script,
        custom_data_dir=custom_data_dir)
    docker_client = DockerClient(args.sysroot_nocache,
                                 default_docker_dir=sysroot_build_context,
                                 colcon_defaults_file=args.colcon_defaults)

    if not args.skip_rosdep_collection:
        gather_rosdeps(docker_client=docker_client,
                       platform=platform,
                       workspace=ros_workspace_dir,
                       skip_rosdep_keys=skip_rosdep_keys,
                       custom_script=custom_rosdep_script,
                       custom_data_dir=custom_data_dir)
    assert_install_rosdep_script_exists(ros_workspace_dir, platform)
    create_workspace_sysroot_image(docker_client, platform)
    run_emulated_docker_build(docker_client, platform, ros_workspace_dir)
示例#3
0
def test_install_rosdep_script_exist(tmpdir):
    ws = Path(str(tmpdir))
    platform = Platform('aarch64', 'ubuntu', 'dashing')
    data_file = ws / rosdep_install_script(platform)
    data_file.parent.mkdir(parents=True)
    data_file.touch()
    check_script = assert_install_rosdep_script_exists(ws, platform)
    assert check_script
def cross_compile_pipeline(
    args: argparse.Namespace,
):
    platform = Platform(args.arch, args.os, args.rosdistro, args.sysroot_base_image)

    ros_workspace_dir = Path(args.ros_workspace).resolve()
    if not (ros_workspace_dir / 'src').is_dir():
        raise ValueError(
            'Specified workspace "{}" does not look like a colcon workspace '
            '(there is no "src/" directory). Cannot continue'.format(ros_workspace_dir))

    skip_rosdep_keys = args.skip_rosdep_keys
    custom_data_dir = _path_if(args.custom_data_dir)
    custom_rosdep_script = _path_if(args.custom_rosdep_script)
    custom_setup_script = _path_if(args.custom_setup_script)

    sysroot_build_context = prepare_docker_build_environment(
        platform=platform,
        ros_workspace=ros_workspace_dir,
        custom_setup_script=custom_setup_script,
        custom_data_dir=custom_data_dir)
    docker_client = DockerClient(
        args.sysroot_nocache,
        default_docker_dir=sysroot_build_context,
        colcon_defaults_file=args.colcon_defaults)

    if not args.skip_rosdep_collection:
        gather_rosdeps(
            docker_client=docker_client,
            platform=platform,
            workspace=ros_workspace_dir,
            skip_rosdep_keys=skip_rosdep_keys,
            custom_script=custom_rosdep_script,
            custom_data_dir=custom_data_dir)
    assert_install_rosdep_script_exists(ros_workspace_dir, platform)
    create_workspace_sysroot_image(docker_client, platform)
    run_emulated_docker_build(docker_client, platform, ros_workspace_dir)