예제 #1
0
    print('Loading rosdistro %s' % args.rosdistro)

    rd = Rosdistro(args.rosdistro)

    workspace = args.repo_workspace
    if not workspace:
        workspace = os.path.join(tempfile.gettempdir(), 'repo-workspace-%s' % args.rosdistro)

    if args.rosdistro != 'fuerte':
        from buildfarm import dependency_walker
        packages = dependency_walker.get_packages(workspace, rd, skip_update=args.skip_update)
        dependencies = dependency_walker.get_jenkins_dependencies(args.rosdistro, packages)
    else:
        from buildfarm import dependency_walker_fuerte
        stacks = dependency_walker_fuerte.get_stacks(workspace, rd._repoinfo, args.rosdistro, skip_update=args.skip_update)
        dependencies = dependency_walker_fuerte.get_dependencies(args.rosdistro, stacks)
        packages = stacks

    release_jobs.check_for_circular_dependencies(dependencies)

    # even for wet_only the dry packages need to be consider, else they are not added as downstream dependencies for the wet jobs
    stack_depends, dry_maintainers = release_jobs.dry_get_stack_dependencies(args.rosdistro)
    dry_jobgraph = release_jobs.dry_generate_jobgraph(args.rosdistro, dependencies, stack_depends)

    combined_jobgraph = {}
    for k, v in dependencies.iteritems():
        combined_jobgraph[k] = v
    for k, v in dry_jobgraph.iteritems():
        combined_jobgraph[k] = v
예제 #2
0
            fqdn_parts = urlsplit(apt_target_repository)
            args.fqdn = fqdn_parts.netloc
        if args.arches is None:
            args.arches = rd.get_arches()

        # TODO does only work with one build file
        sourcedeb_timeout = rd._build_files[0].jenkins_sourcedeb_job_timeout
        binarydeb_timeout = rd._build_files[0].jenkins_binarydeb_job_timeout
    else:
        apt_target_repository = 'http://' + args.fqdn + '/repos/building'
        from buildfarm.ros_distro_fuerte import Rosdistro
        rd = Rosdistro(args.rosdistro)
        from buildfarm import dependency_walker_fuerte
        stacks = dependency_walker_fuerte.get_stacks(
            workspace,
            rd._repoinfo,
            args.rosdistro,
            skip_update=args.skip_update)
        dependencies = dependency_walker_fuerte.get_dependencies(
            args.rosdistro, stacks)
        packages = stacks
        sourcedeb_timeout = None
        binarydeb_timeout = None

    release_jobs.check_for_circular_dependencies(dependencies)

    if args.rosdistro == 'groovy':
        # even for wet_only the dry packages need to be consider, else they are not added as downstream dependencies for the wet jobs
        stack_depends, dry_maintainers = release_jobs.dry_get_stack_dependencies(
            args.rosdistro, workspace)
        dry_jobgraph = release_jobs.dry_generate_jobgraph(
예제 #3
0
    repo = 'http://%s/repos/building' % args.fqdn

    print('Loading rosdistro %s' % args.rosdistro)

    rd = RosDistro(args.rosdistro, rosdist_rep=args.rosdist_rep)

    workspace = args.repo_workspace
    if not workspace:
        workspace = os.path.join(tempfile.gettempdir(), 'repo-workspace-%s' % args.rosdistro)

    if args.rosdistro != 'fuerte':
        packages = rd.get_packages()
        dependencies = get_dependencies(rd, packages)
    else:
        from buildfarm import dependency_walker_fuerte
        stacks = dependency_walker_fuerte.get_stacks(workspace, rd.distro_file.repositories, args.rosdistro, skip_update=args.skip_update)
        dependencies = dependency_walker_fuerte.get_dependencies(args.rosdistro, stacks)
        packages = stacks

    release_jobs.check_for_circular_dependencies(dependencies)

    # even for wet_only the dry packages need to be consider, else they are not added as downstream dependencies for the wet jobs
    if not args.wet_only:
        stack_depends, dry_maintainers = release_jobs.dry_get_stack_dependencies(args.rosdistro)
        dry_jobgraph = release_jobs.dry_generate_jobgraph(args.rosdistro, dependencies, stack_depends)
    else:
        dry_maintainers = []

    combined_jobgraph = {}
    for k, v in dependencies.iteritems():
        combined_jobgraph[k] = v
예제 #4
0
    rd = RosDistro(args.rosdistro, rosdist_rep=args.rosdist_rep)

    workspace = args.repo_workspace
    if not workspace:
        workspace = os.path.join(tempfile.gettempdir(),
                                 'repo-workspace-%s' % args.rosdistro)

    if args.rosdistro != 'fuerte':
        packages = rd.get_packages()
        dependencies = get_dependencies(rd, packages)
    else:
        from buildfarm import dependency_walker_fuerte
        stacks = dependency_walker_fuerte.get_stacks(
            workspace,
            rd.distro_file.repositories,
            args.rosdistro,
            skip_update=args.skip_update)
        dependencies = dependency_walker_fuerte.get_dependencies(
            args.rosdistro, stacks)
        packages = stacks

    release_jobs.check_for_circular_dependencies(dependencies)

    # even for wet_only the dry packages need to be consider, else they are not added as downstream dependencies for the wet jobs
    if not args.wet_only:
        stack_depends, dry_maintainers = release_jobs.dry_get_stack_dependencies(
            args.rosdistro)
        dry_jobgraph = release_jobs.dry_generate_jobgraph(
            args.rosdistro, dependencies, stack_depends)
    else: