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)
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)
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)