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
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(
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
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: