List of usage examples for com.google.common.collect ImmutableSet.Builder addAll
boolean addAll(Collection<? extends E> c);
From source file:com.facebook.buck.haskell.HaskellGhciDescription.java
@Override public BuildRule createBuildRule(TargetGraph targetGraph, BuildTarget buildTarget, final ProjectFilesystem projectFilesystem, BuildRuleParams params, final BuildRuleResolver resolver, final CellPathResolver cellPathResolver, HaskellGhciDescriptionArg args) throws NoSuchBuildTargetException { CxxPlatform cxxPlatform = cxxPlatforms.getValue(buildTarget).orElse(defaultCxxPlatform); SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver); SourcePathResolver pathResolver = DefaultSourcePathResolver.from(ruleFinder); ImmutableSet.Builder<BuildRule> depsBuilder = ImmutableSet.builder(); depsBuilder.addAll(CxxDeps.builder().addDeps(args.getDeps()).addPlatformDeps(args.getPlatformDeps()).build() .get(resolver, cxxPlatform)); ImmutableSet<BuildRule> deps = depsBuilder.build(); ImmutableSet.Builder<HaskellPackage> haskellPackages = ImmutableSet.builder(); ImmutableSet.Builder<HaskellPackage> prebuiltHaskellPackages = ImmutableSet.builder(); ImmutableSet.Builder<HaskellPackage> firstOrderHaskellPackages = ImmutableSet.builder(); AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException> haskellVisitor = new AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException>( deps) {//from w ww . j a v a2s .c om @Override public ImmutableSet<BuildRule> visit(BuildRule rule) throws NoSuchBuildTargetException { ImmutableSet.Builder<BuildRule> traverse = ImmutableSet.builder(); if (rule instanceof HaskellLibrary || rule instanceof PrebuiltHaskellLibrary) { HaskellCompileInput ci = ((HaskellCompileDep) rule).getCompileInput(cxxPlatform, Linker.LinkableDepType.STATIC, args.getEnableProfiling()); if (params.getBuildDeps().contains(rule)) { firstOrderHaskellPackages.addAll(ci.getPackages()); } if (rule instanceof HaskellLibrary) { haskellPackages.addAll(ci.getPackages()); traverse.addAll(rule.getBuildDeps()); } else if (rule instanceof PrebuiltHaskellLibrary) { prebuiltHaskellPackages.addAll(ci.getPackages()); traverse.addAll(rule.getBuildDeps()); } } return traverse.build(); } }; haskellVisitor.start(); ImmutableSet.Builder<NativeLinkable> nativeLinkables = ImmutableSet.builder(); AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException> cxxVisitor = new AbstractBreadthFirstThrowingTraversal<BuildRule, NoSuchBuildTargetException>( deps) { @Override public ImmutableSet<BuildRule> visit(BuildRule rule) throws NoSuchBuildTargetException { ImmutableSet.Builder<BuildRule> traverse = ImmutableSet.builder(); if (rule instanceof CxxLibrary) { nativeLinkables.add((NativeLinkable) rule); } else if (rule instanceof PrebuiltCxxLibrary) { nativeLinkables.add((NativeLinkable) rule); } else if (rule instanceof HaskellLibrary || rule instanceof PrebuiltHaskellLibrary) { for (NativeLinkable nl : ((NativeLinkable) rule) .getNativeLinkableExportedDepsForPlatform(cxxPlatform)) { traverse.add((BuildRule) nl); } } return traverse.build(); } }; cxxVisitor.start(); ImmutableList<NativeLinkable> sortedNativeLinkables = getSortedNativeLinkables(cxxPlatform, nativeLinkables.build()); BuildRule omnibusSharedObject = requireOmnibusSharedObject(buildTarget, projectFilesystem, resolver, cxxPlatform, sortedNativeLinkables); ImmutableSortedMap.Builder<String, SourcePath> solibs = ImmutableSortedMap.naturalOrder(); for (NativeLinkable nativeLinkable : sortedNativeLinkables) { if (isPrebuiltSO(nativeLinkable, cxxPlatform)) { ImmutableMap<String, SourcePath> sharedObjects = nativeLinkable.getSharedLibraries(cxxPlatform); for (Map.Entry<String, SourcePath> ent : sharedObjects.entrySet()) { if (ent.getValue() instanceof PathSourcePath) { solibs.put(ent.getKey(), ent.getValue()); } } } } HaskellSources srcs = HaskellSources.from(buildTarget, resolver, pathResolver, ruleFinder, cxxPlatform, "srcs", args.getSrcs()); return resolver.addToIndex(HaskellGhciRule.from(buildTarget, projectFilesystem, params, resolver, srcs, args.getCompilerFlags(), args.getGhciBinDep(), args.getGhciInit(), omnibusSharedObject, solibs.build(), firstOrderHaskellPackages.build(), haskellPackages.build(), prebuiltHaskellPackages.build(), args.getEnableProfiling(), haskellConfig.getGhciScriptTemplate(), haskellConfig.getGhciBinutils(), haskellConfig.getGhciGhc(), haskellConfig.getGhciLib(), haskellConfig.getGhciCxx(), haskellConfig.getGhciCc(), haskellConfig.getGhciCpp())); }
From source file:com.googlesource.gerrit.plugins.reviewers.ChangeEventListener.java
private Set<String> findReviewers(List<ReviewerFilterSection> sections, ChangeData changeData) throws OrmException, QueryParseException { ImmutableSet.Builder<String> reviewers = ImmutableSet.builder(); List<ReviewerFilterSection> found = findReviewerSections(sections, changeData); for (ReviewerFilterSection s : found) { reviewers.addAll(s.getReviewers()); }/*w w w . j ava2s . co m*/ return reviewers.build(); }
From source file:com.facebook.buck.cxx.CxxTestDescription.java
@Override public Iterable<BuildTarget> findDepsForTargetFromConstructorArgs(BuildTarget buildTarget, CellPathResolver cellRoots, Arg constructorArg) { ImmutableSet.Builder<BuildTarget> deps = ImmutableSet.builder(); // Get any parse time deps from the C/C++ platforms. deps.addAll(CxxPlatforms .getParseTimeDeps(cxxPlatforms.getValue(buildTarget.getFlavors()).orElse(defaultCxxPlatform))); // Extract parse time deps from flags, args, and environment parameters. Iterable<Iterable<String>> macroStrings = ImmutableList.<Iterable<String>>builder() .add(constructorArg.linkerFlags).addAll(constructorArg.platformLinkerFlags.getValues()) .add(constructorArg.args).add(constructorArg.env.values()).build(); for (String macroString : Iterables.concat(macroStrings)) { try {/* ww w .java2s. co m*/ deps.addAll(CxxDescriptionEnhancer.MACRO_HANDLER.extractParseTimeDeps(buildTarget, cellRoots, macroString)); } catch (MacroException e) { throw new HumanReadableException(e, "%s: %s", buildTarget, e.getMessage()); } } CxxTestType type = constructorArg.framework.orElse(getDefaultTestType()); switch (type) { case GTEST: { deps.add(cxxBuckConfig.getGtestDep()); boolean useDefaultTestMain = constructorArg.useDefaultTestMain.orElse(true); if (useDefaultTestMain) { deps.add(cxxBuckConfig.getGtestDefaultTestMainDep()); } break; } case BOOST: { deps.add(cxxBuckConfig.getBoostTestDep()); break; } default: { break; } } return deps.build(); }
From source file:com.yahoo.yqlplus.engine.internal.plan.IndexedQueryPlanner.java
public IndexedQueryPlanner(Iterable<IndexDescriptor> indexes) { ImmutableMap.Builder<IndexKey, IndexDescriptor> idx = ImmutableMap.builder(); ImmutableSet.Builder<String> cols = ImmutableSet.builder(); for (IndexDescriptor index : indexes) { idx.put(IndexKey.of(index.getColumnNames()), index); cols.addAll(index.getColumnNames()); }/*from w w w.j av a2s . c o m*/ this.indexes = idx.build(); this.indexColumns = cols.build(); }
From source file:com.facebook.buck.cxx.CxxDescriptionEnhancer.java
public static Optional<CxxCompilationDatabaseDependencies> createCompilationDatabaseDependencies( BuildTarget buildTarget, FlavorDomain<CxxPlatform> platforms, BuildRuleResolver resolver, CxxConstructorArg args) throws NoSuchBuildTargetException { Preconditions.checkState(buildTarget.getFlavors().contains(CxxCompilationDatabase.COMPILATION_DATABASE)); Optional<Flavor> cxxPlatformFlavor = platforms.getFlavor(buildTarget); Preconditions.checkState(cxxPlatformFlavor.isPresent(), "Could not find cxx platform in:\n%s", Joiner.on(", ").join(buildTarget.getFlavors())); ImmutableSet.Builder<SourcePath> sourcePaths = ImmutableSet.builder(); for (BuildTarget dep : args.deps) { Optional<CxxCompilationDatabaseDependencies> compilationDatabases = resolver .requireMetadata(//from w w w .j av a 2 s .co m BuildTarget.builder(dep).addFlavors(CxxCompilationDatabase.COMPILATION_DATABASE) .addFlavors(cxxPlatformFlavor.get()).build(), CxxCompilationDatabaseDependencies.class); if (compilationDatabases.isPresent()) { sourcePaths.addAll(compilationDatabases.get().getSourcePaths()); } } // Not all parts of Buck use require yet, so require the rule here so it's available in the // resolver for the parts that don't. resolver.requireRule(buildTarget); sourcePaths.add(new BuildTargetSourcePath(buildTarget)); return Optional.of(CxxCompilationDatabaseDependencies.of(sourcePaths.build())); }
From source file:com.facebook.buck.rules.query.GraphEnhancementQueryEnvironment.java
@Override public Set<QueryTarget> getFwdDeps(Iterable<QueryTarget> targets) throws QueryException, InterruptedException { ImmutableSet.Builder<QueryTarget> builder = ImmutableSet.builder(); for (QueryTarget target : targets) { List<QueryBuildTarget> deps = getNode(target).getDeps().stream().map(QueryBuildTarget::of) .collect(Collectors.toList()); builder.addAll(deps); }// ww w . ja v a 2s . c o m return builder.build(); }
From source file:com.zimbra.cs.index.UnionQueryOperation.java
@Override Set<QueryTarget> getQueryTargets() { ImmutableSet.Builder<QueryTarget> builder = ImmutableSet.builder(); for (QueryOperation op : operations) { builder.addAll(op.getQueryTargets()); }// w w w .j a va2s .com return builder.build(); }
From source file:com.wealdtech.collect.TreeRangedMultimap.java
@Override public Collection<V> get(final Range<K> range) { // Find all items which start before this range ends ImmutableSet.Builder<V> startersB = ImmutableSet.builder(); Map.Entry<K, List<V>> startEntry = startMap.floorEntry(range.upperEndpoint()); while (startEntry != null) { // Because our range is [) we don't include anything on the upper endpoint itself if (!startEntry.getKey().equals(range.upperEndpoint())) { startersB.addAll(startEntry.getValue()); }//from ww w . ja v a2 s . com startEntry = startMap.lowerEntry(startEntry.getKey()); } final ImmutableSet<V> starters = startersB.build(); // Final all items which end after this range starts ImmutableSet.Builder<V> finishersB = ImmutableSet.builder(); Map.Entry<K, List<V>> finishEntry = endMap.ceilingEntry(range.lowerEndpoint()); while (finishEntry != null) { // Because our range is [) we don't include anything on the lower endpoint itself if (!finishEntry.getKey().equals(range.lowerEndpoint())) { finishersB.addAll(finishEntry.getValue()); } finishEntry = endMap.higherEntry(finishEntry.getKey()); } final ImmutableSet<V> finishers = finishersB.build(); // Our result is everything which is in both sets return Sets.intersection(starters, finishers); }
From source file:com.google.template.soy.soytree.TemplateRegistry.java
/** * Retrieves the set of {@code DelegateTemplateDivision}s for all variants of a given a delegate * template name./* w w w . j av a 2 s.c o m*/ * @param delTemplateName The delegate template name to retrieve. * @return The set of {@code DelegateTemplateDivision}s for all variants. */ public ImmutableSet<DelegateTemplateDivision> getDelTemplateDivisionsForAllVariants(String delTemplateName) { ImmutableSet<DelTemplateKey> keysForAllVariants = delTemplateNameToKeysMap.get(delTemplateName); ImmutableSet.Builder<DelegateTemplateDivision> builder = ImmutableSet.builder(); for (DelTemplateKey delTemplateKey : keysForAllVariants) { builder.addAll(delTemplatesMap.get(delTemplateKey)); } return builder.build(); }
From source file:com.linecorp.armeria.server.grpc.GrpcDocServicePlugin.java
@Override public ServiceSpecification generateSpecification(Set<ServiceConfig> serviceConfigs) { final Map<String, ServiceEntryBuilder> map = new LinkedHashMap<>(); for (ServiceConfig serviceConfig : serviceConfigs) { final GrpcService grpcService = serviceConfig.service().as(GrpcService.class).get(); ImmutableSet.Builder<MediaType> supportedMediaTypesBuilder = ImmutableSet.builder(); supportedMediaTypesBuilder.addAll(grpcService.supportedSerializationFormats().stream() .map(SerializationFormat::mediaType)::iterator); if (serviceConfig.service().as(UnframedGrpcService.class).isPresent()) { if (grpcService.supportedSerializationFormats().contains(GrpcSerializationFormats.PROTO)) { // Normal clients of a GrpcService are not required to set a protocol when using unframed // requests but we set it here for clarity in DocService, where there may be multiple // services with similar mime types but different protocols. supportedMediaTypesBuilder.add(MediaType.PROTOBUF.withParameter("protocol", "gRPC")); }/*from w ww. java 2s.c o m*/ if (grpcService.supportedSerializationFormats().contains(GrpcSerializationFormats.JSON)) { supportedMediaTypesBuilder.add(MediaType.JSON_UTF_8.withParameter("protocol", "gRPC")); } } Set<MediaType> supportedMediaTypes = supportedMediaTypesBuilder.build(); for (ServerServiceDefinition service : grpcService.services()) { map.computeIfAbsent(service.getServiceDescriptor().getName(), s -> { FileDescriptor fileDescriptor = ((ProtoFileDescriptorSupplier) service.getServiceDescriptor() .getSchemaDescriptor()).getFileDescriptor(); ServiceDescriptor serviceDescriptor = fileDescriptor.getServices().stream() .filter(sd -> sd.getFullName().equals(service.getServiceDescriptor().getName())) .findFirst().orElseThrow(IllegalStateException::new); return new ServiceEntryBuilder(serviceDescriptor); }); } serviceConfig.pathMapping().prefix().ifPresent(path -> { for (ServerServiceDefinition service : grpcService.services()) { final String serviceName = service.getServiceDescriptor().getName(); map.get(serviceName).endpoint(new EndpointInfo(serviceConfig.virtualHost().hostnamePattern(), // Only the URL prefix, each method is served at a different path. path + serviceName + '/', "", // No default mime type for GRPC, so just pick arbitrarily for now. // TODO(anuraag): Consider allowing default mime type to be null. Iterables.getFirst(supportedMediaTypes, GrpcSerializationFormats.PROTO.mediaType()), supportedMediaTypes)); } }); } return generate(map.values().stream().map(ServiceEntryBuilder::build).collect(toImmutableList())); }