List of usage examples for com.google.common.collect ImmutableSortedSet of
public static <E extends Comparable<? super E>> ImmutableSortedSet<E> of(E element)
From source file:com.facebook.buck.android.AndroidBinaryResourcesGraphEnhancer.java
AndroidBinaryResourcesGraphEnhancementResult enhance(AndroidPackageableCollection packageableCollection) { boolean needsResourceFiltering = resourceFilter.isEnabled() || postFilterResourcesCmd.isPresent() || resourceCompressionMode.isStoreStringsAsAssets() || !locales.isEmpty(); int packageIdOffset = 0; ImmutableSet.Builder<SourcePath> pathToRDotTxtFiles = ImmutableSet.builder(); ImmutableMap.Builder<APKModule, FilteredResourcesProvider> filteredResourcesProviderBuilder = ImmutableMap .builder();//from w w w .j a v a2 s .c om AndroidBinaryResourcesGraphEnhancementResult.Builder resultBuilder = AndroidBinaryResourcesGraphEnhancementResult .builder(); List<SourcePath> apkResourceDependencyList = new ArrayList<>(); for (APKModule module : apkModuleGraph.getAPKModules()) { AndroidPackageableCollection.ResourceDetails resourceDetails = packageableCollection .getResourceDetails().get(module); if (resourceDetails == null) { throw new RuntimeException( String.format("Missing resource details for module %s", module.getName())); } ImmutableSortedSet<BuildRule> resourceRules = getTargetsAsRules( resourceDetails.getResourcesWithNonEmptyResDir()); ImmutableCollection<BuildRule> rulesWithResourceDirectories = ruleFinder .filterBuildRuleInputs(resourceDetails.getResourceDirectories()); InternalFlavor moduleFlavor = InternalFlavor.of(module.getName()); FilteredResourcesProvider filteredResourcesProvider; if (needsResourceFiltering) { ResourcesFilter resourcesFilter = createResourcesFilter(moduleFlavor, resourceDetails, resourceRules, rulesWithResourceDirectories); graphBuilder.addToIndex(resourcesFilter); filteredResourcesProvider = resourcesFilter; resourceRules = ImmutableSortedSet.of(resourcesFilter); } else { filteredResourcesProvider = new IdentityResourcesProvider(resourceDetails.getResourceDirectories()); } filteredResourcesProviderBuilder.put(module, filteredResourcesProvider); AaptOutputInfo aaptOutputInfo; SourcePath manifestPath; if (module.isRootModule()) { manifestPath = createBaseManifestRule(packageableCollection, module); } else { if (!moduleManifestSkeleton.isPresent()) { continue; } AndroidManifest moduleManifestMergeRule = new AndroidManifest( buildTarget.withAppendedFlavors(MANIFEST_MERGE_FLAVOR, moduleFlavor), projectFilesystem, ruleFinder, moduleManifestSkeleton.get(), module, packageableCollection.getAndroidManifestPieces().get(module)); graphBuilder.addToIndex(moduleManifestMergeRule); manifestPath = moduleManifestMergeRule.getSourcePathToOutput(); } switch (aaptMode) { case AAPT1: { // Create the AaptPackageResourcesBuildable. AaptPackageResources aaptPackageResources = createAaptPackageResources( buildTarget.withAppendedFlavors(AAPT_PACKAGE_FLAVOR, moduleFlavor), manifestPath, ImmutableList.copyOf(apkResourceDependencyList), resourceDetails, filteredResourcesProvider); graphBuilder.addToIndex(aaptPackageResources); aaptOutputInfo = aaptPackageResources.getAaptOutputInfo(); apkResourceDependencyList.add(aaptOutputInfo.getPrimaryResourcesApkPath()); } break; case AAPT2: { Aapt2Link aapt2Link = createAapt2Link(packageIdOffset, moduleFlavor, manifestPath, resourceDetails, needsResourceFiltering ? Optional.of(filteredResourcesProvider) : Optional.empty(), ImmutableList.copyOf(apkResourceDependencyList), useProtoFormat); graphBuilder.addToIndex(aapt2Link); if (useProtoFormat) { // also build an ARSC flavor that we can use to as parent dependencies to other // modules Aapt2Link aapt2LinkArsc = createAapt2Link(packageIdOffset, moduleFlavor, manifestPath, resourceDetails, needsResourceFiltering ? Optional.of(filteredResourcesProvider) : Optional.empty(), ImmutableList.copyOf(apkResourceDependencyList), false); graphBuilder.addToIndex(aapt2LinkArsc); apkResourceDependencyList.add(aapt2LinkArsc.getAaptOutputInfo().getPrimaryResourcesApkPath()); } else { apkResourceDependencyList.add(aapt2Link.getAaptOutputInfo().getPrimaryResourcesApkPath()); } aaptOutputInfo = aapt2Link.getAaptOutputInfo(); } break; default: throw new RuntimeException("Unexpected aaptMode: " + aaptMode); } if (module.isRootModule()) { Optional<PackageStringAssets> packageStringAssets = Optional.empty(); if (resourceCompressionMode.isStoreStringsAsAssets()) { // TODO(cjhopman): we should be able to support this in exo-for-resources if (exopackageForResources) { throw new HumanReadableException( "exopackage_modes and resource_compression_mode for android_binary %s are " + "incompatible. Either remove %s from exopackage_modes or disable storing strings " + "as assets.", buildTarget, ExopackageMode.RESOURCES); } packageStringAssets = Optional.of(createPackageStringAssets(resourceRules, rulesWithResourceDirectories, filteredResourcesProvider, aaptOutputInfo)); graphBuilder.addToIndex(packageStringAssets.get()); } resultBuilder.setPackageStringAssets(packageStringAssets); createMergeAndExoResources(packageableCollection, pathToRDotTxtFiles, resultBuilder, aaptOutputInfo, packageStringAssets); // Create a rule that copies the AndroidManifest. This allows the AndroidBinary rule (and // exopackage installation rules) to have a runtime dep on the manifest without having to // have a runtime dep on the full aapt output. ExportFile manifestCopyRule = new ExportFile( originalBuildTarget.withAppendedFlavors(COPY_MANIFEST_FLAVOR), projectFilesystem, ruleFinder, "AndroidManifest.xml", ExportFileDescription.Mode.COPY, aaptOutputInfo.getAndroidManifestXml(), ExportFileDirectoryAction.FAIL); graphBuilder.addToIndex(manifestCopyRule); resultBuilder.setAndroidManifestXml(manifestCopyRule.getSourcePathToOutput()); } else { resultBuilder.putModuleResourceApkPaths(module, aaptOutputInfo.getPrimaryResourcesApkPath()); } resultBuilder.addAaptGeneratedProguardConfigFiles(aaptOutputInfo.getAaptGeneratedProguardConfigFile()); pathToRDotTxtFiles.add(aaptOutputInfo.getPathToRDotTxt()); packageIdOffset++; } Optional<GenerateRDotJava> generateRDotJava = Optional.empty(); ImmutableMap<APKModule, FilteredResourcesProvider> allFilteredResourceProviders = filteredResourcesProviderBuilder .build(); if (allFilteredResourceProviders.values().stream().anyMatch(f -> f.hasResources())) { generateRDotJava = Optional.of(createGenerateRDotJava(pathToRDotTxtFiles.build(), getTargetsAsRules(packageableCollection.getResourceDetails().values().stream() .flatMap(r -> r.getResourcesWithNonEmptyResDir().stream()) .collect(ImmutableList.toImmutableList())), allFilteredResourceProviders.values())); graphBuilder.addToIndex(generateRDotJava.get()); if (shouldBuildStringSourceMap) { graphBuilder .addToIndex(createGenerateStringResources(allFilteredResourceProviders.values().asList())); } } return resultBuilder .setRDotJavaDir(generateRDotJava.map(GenerateRDotJava::getSourcePathToGeneratedRDotJavaSrcFiles)) .build(); }
From source file:com.facebook.buck.features.project.intellij.BaseIjModuleRule.java
@SuppressWarnings("unchecked") private void addAnnotationOutputIfNeeded(IJFolderFactory folderFactory, TargetNode<T> targetNode, ModuleBuildContext context) {/*from w w w . j a v a2s. co m*/ TargetNode<? extends JvmLibraryArg> jvmLibraryTargetNode = (TargetNode<? extends JvmLibraryArg>) targetNode; Optional<Path> annotationOutput = moduleFactoryResolver.getAnnotationOutputPath(jvmLibraryTargetNode); if (!annotationOutput.isPresent()) { return; } Path annotationOutputPath = annotationOutput.get(); context.addGeneratedSourceCodeFolder( folderFactory.create(annotationOutputPath, false, ImmutableSortedSet.of(annotationOutputPath))); }
From source file:com.facebook.buck.features.halide.HalideLibraryDescription.java
private BuildRule createHalideCompile(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, ActionGraphBuilder graphBuilder, CxxPlatform platform, Optional<ImmutableList<String>> compilerInvocationFlags, Optional<String> functionName) { CxxBinary halideCompiler = (CxxBinary) graphBuilder .requireRule(buildTarget.withFlavors(HALIDE_COMPILER_FLAVOR)); return new HalideCompile(buildTarget, projectFilesystem, params.withExtraDeps(ImmutableSortedSet.of(halideCompiler)), halideCompiler.getExecutableCommand(), halideBuckConfig.getHalideTargetForPlatform(platform), expandInvocationFlags(compilerInvocationFlags, platform), functionName); }
From source file:com.facebook.buck.features.go.GoTestDescription.java
@Override public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, GoTestDescriptionArg args) { GoPlatform platform = GoDescriptors.getPlatformForRule(getGoToolchain(), this.goBuckConfig, buildTarget, args);// w w w . j a v a 2s . c o m ActionGraphBuilder graphBuilder = context.getActionGraphBuilder(); SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(graphBuilder); SourcePathResolver pathResolver = DefaultSourcePathResolver.from(ruleFinder); ProjectFilesystem projectFilesystem = context.getProjectFilesystem(); GoTestCoverStep.Mode coverageMode; ImmutableSortedSet.Builder<BuildRule> extraDeps = ImmutableSortedSet.naturalOrder(); ImmutableSet.Builder<SourcePath> srcs; ImmutableMap<String, Path> coverVariables; ImmutableSet.Builder<SourcePath> rawSrcs = ImmutableSet.builder(); rawSrcs.addAll(args.getSrcs()); if (args.getLibrary().isPresent()) { GoLibraryDescriptionArg libraryArg = graphBuilder .requireMetadata(args.getLibrary().get(), GoLibraryDescriptionArg.class).get(); rawSrcs.addAll(libraryArg.getSrcs()); } if (args.getCoverageMode().isPresent()) { coverageMode = args.getCoverageMode().get(); GoTestCoverStep.Mode coverage = coverageMode; GoTestCoverSource coverSource = (GoTestCoverSource) graphBuilder.computeIfAbsent( buildTarget.withAppendedFlavors(InternalFlavor.of("gen-cover")), target -> new GoTestCoverSource(target, projectFilesystem, ruleFinder, pathResolver, platform, rawSrcs.build(), platform.getCover(), coverage)); coverVariables = coverSource.getVariables(); srcs = ImmutableSet.builder(); srcs.addAll(coverSource.getCoveredSources()).addAll(coverSource.getTestSources()); extraDeps.add(coverSource); } else { srcs = rawSrcs; coverVariables = ImmutableMap.of(); coverageMode = GoTestCoverStep.Mode.NONE; } if (buildTarget.getFlavors().contains(TEST_LIBRARY_FLAVOR)) { return createTestLibrary(buildTarget, projectFilesystem, params.copyAppendingExtraDeps(extraDeps.build()), graphBuilder, srcs.build(), args, platform); } GoBinary testMain = createTestMainRule(buildTarget, projectFilesystem, params.copyAppendingExtraDeps(extraDeps.build()), graphBuilder, srcs.build(), coverVariables, coverageMode, args, platform); graphBuilder.addToIndex(testMain); StringWithMacrosConverter macrosConverter = StringWithMacrosConverter.builder().setBuildTarget(buildTarget) .setCellPathResolver(context.getCellPathResolver()).setExpanders(MACRO_EXPANDERS).build(); return new GoTest(buildTarget, projectFilesystem, params.withDeclaredDeps(ImmutableSortedSet.of(testMain)).withoutExtraDeps(), testMain, args.getLabels(), args.getContacts(), args.getTestRuleTimeoutMs().map(Optional::of).orElse( goBuckConfig.getDelegate().getView(TestBuckConfig.class).getDefaultTestRuleTimeoutMs()), ImmutableMap .copyOf(Maps.transformValues(args.getEnv(), x -> macrosConverter.convert(x, graphBuilder))), args.getRunTestSeparately(), args.getResources(), coverageMode); }
From source file:com.facebook.buck.features.project.intellij.BaseIjModuleRule.java
private void addGeneratedOutputIfNeeded(IJFolderFactory folderFactory, TargetNode<T> targetNode, ModuleBuildContext context) {//from www .j a v a 2s. c o m ImmutableSet<Path> generatedSourcePaths = findConfiguredGeneratedSourcePaths(targetNode); for (Path generatedSourcePath : generatedSourcePaths) { context.addGeneratedSourceCodeFolder( folderFactory.create(generatedSourcePath, false, ImmutableSortedSet.of(generatedSourcePath))); } }
From source file:com.facebook.buck.features.haskell.HaskellLibraryDescription.java
private HaskellPackageRule createPackage(BuildTarget target, ProjectFilesystem projectFilesystem, BuildRuleParams baseParams, ActionGraphBuilder graphBuilder, SourcePathResolver pathResolver, SourcePathRuleFinder ruleFinder, HaskellPlatformsProvider haskellPlatformsProvider, HaskellPlatform platform, HaskellLibraryDescriptionArg args, ImmutableSet<BuildRule> deps, Linker.LinkableDepType depType, boolean hsProfile) { ImmutableSortedSet<SourcePath> libraries; BuildRule library;// w ww. ja v a2s. c om switch (depType) { case SHARED: library = requireSharedLibrary(getBaseBuildTarget(haskellPlatformsProvider, target), projectFilesystem, baseParams, graphBuilder, pathResolver, ruleFinder, haskellPlatformsProvider, platform, args, deps, hsProfile); libraries = ImmutableSortedSet.of(library.getSourcePathToOutput()); break; case STATIC: case STATIC_PIC: library = requireStaticLibrary(getBaseBuildTarget(haskellPlatformsProvider, target), projectFilesystem, baseParams, graphBuilder, pathResolver, ruleFinder, haskellPlatformsProvider, platform, args, deps, depType, false); if (hsProfile) { if (!(Linker.LinkableDepType.STATIC == depType || Linker.LinkableDepType.STATIC_PIC == depType)) { throw new IllegalStateException(); } BuildRule profiledLibrary = requireStaticLibrary( getBaseBuildTarget(haskellPlatformsProvider, target), projectFilesystem, baseParams, graphBuilder, pathResolver, ruleFinder, haskellPlatformsProvider, platform, args, deps, depType, true); libraries = ImmutableSortedSet.of(library.getSourcePathToOutput(), profiledLibrary.getSourcePathToOutput()); } else { libraries = ImmutableSortedSet.of(library.getSourcePathToOutput()); } break; default: throw new IllegalStateException(); } ImmutableSortedMap.Builder<String, HaskellPackage> depPackagesBuilder = ImmutableSortedMap.naturalOrder(); for (BuildRule rule : deps) { if (rule instanceof HaskellCompileDep) { ImmutableList<HaskellPackage> packages = ((HaskellCompileDep) rule) .getCompileInput(platform, depType, hsProfile).getPackages(); for (HaskellPackage pkg : packages) { depPackagesBuilder.put(pkg.getInfo().getIdentifier(), pkg); } } } ImmutableSortedMap<String, HaskellPackage> depPackages = depPackagesBuilder.build(); ImmutableSortedSet<SourcePath> interfaces; ImmutableSortedSet<SourcePath> objects; HaskellCompileRule compileRule = requireCompileRule(target, projectFilesystem, baseParams, graphBuilder, pathResolver, ruleFinder, platform, args, deps, depType, false); if (hsProfile) { HaskellCompileRule profiledCompileRule = requireCompileRule(target, projectFilesystem, baseParams, graphBuilder, pathResolver, ruleFinder, platform, args, deps, depType, true); interfaces = ImmutableSortedSet.of(compileRule.getInterfaces(), profiledCompileRule.getInterfaces()); objects = ImmutableSortedSet.of(compileRule.getObjectsDir(), profiledCompileRule.getObjectsDir()); } else { interfaces = ImmutableSortedSet.of(compileRule.getInterfaces()); objects = ImmutableSortedSet.of(compileRule.getObjectsDir()); } return HaskellPackageRule.from(target, projectFilesystem, baseParams, ruleFinder, platform.getPackager().resolve(graphBuilder), platform.getHaskellVersion(), depType, getPackageInfo(platform, target), depPackages, compileRule.getModules(), libraries, interfaces, objects); }
From source file:com.facebook.buck.apple.AppleTestDescription.java
@Override public <A extends Arg> BuildRule createBuildRule(TargetGraph targetGraph, BuildRuleParams params, BuildRuleResolver resolver, A args) throws NoSuchBuildTargetException { AppleDebugFormat debugFormat = AppleDebugFormat.FLAVOR_DOMAIN.getValue(params.getBuildTarget()) .orElse(appleConfig.getDefaultDebugInfoFormatForTests()); if (params.getBuildTarget().getFlavors().contains(debugFormat.getFlavor())) { params = params.withoutFlavor(debugFormat.getFlavor()); }/*from ww w . j a v a 2 s . com*/ boolean createBundle = Sets.intersection(params.getBuildTarget().getFlavors(), AUXILIARY_LIBRARY_FLAVORS) .isEmpty(); // Flavors pertaining to the library targets that are generated. Sets.SetView<Flavor> libraryFlavors = Sets.difference(params.getBuildTarget().getFlavors(), AUXILIARY_LIBRARY_FLAVORS); boolean addDefaultPlatform = libraryFlavors.isEmpty(); ImmutableSet.Builder<Flavor> extraFlavorsBuilder = ImmutableSet.builder(); if (createBundle) { extraFlavorsBuilder.add(LIBRARY_FLAVOR, CxxDescriptionEnhancer.MACH_O_BUNDLE_FLAVOR); } extraFlavorsBuilder.add(debugFormat.getFlavor()); if (addDefaultPlatform) { extraFlavorsBuilder.add(defaultCxxPlatform.getFlavor()); } Optional<MultiarchFileInfo> multiarchFileInfo = MultiarchFileInfos.create(appleCxxPlatformFlavorDomain, params.getBuildTarget()); AppleCxxPlatform appleCxxPlatform; ImmutableList<CxxPlatform> cxxPlatforms; if (multiarchFileInfo.isPresent()) { ImmutableList.Builder<CxxPlatform> cxxPlatformBuilder = ImmutableList.builder(); for (BuildTarget thinTarget : multiarchFileInfo.get().getThinTargets()) { cxxPlatformBuilder.add(cxxPlatformFlavorDomain.getValue(thinTarget).get()); } cxxPlatforms = cxxPlatformBuilder.build(); appleCxxPlatform = multiarchFileInfo.get().getRepresentativePlatform(); } else { CxxPlatform cxxPlatform = cxxPlatformFlavorDomain.getValue(params.getBuildTarget()) .orElse(defaultCxxPlatform); cxxPlatforms = ImmutableList.of(cxxPlatform); try { appleCxxPlatform = appleCxxPlatformFlavorDomain.getValue(cxxPlatform.getFlavor()); } catch (FlavorDomainException e) { throw new HumanReadableException(e, "%s: Apple test requires an Apple platform, found '%s'", params.getBuildTarget(), cxxPlatform.getFlavor().getName()); } } Optional<TestHostInfo> testHostInfo; if (args.testHostApp.isPresent()) { testHostInfo = Optional.of(createTestHostInfo(params, resolver, args.testHostApp.get(), debugFormat, libraryFlavors, cxxPlatforms)); } else { testHostInfo = Optional.empty(); } BuildTarget libraryTarget = params.getBuildTarget().withAppendedFlavors(extraFlavorsBuilder.build()) .withAppendedFlavors(debugFormat.getFlavor()) .withAppendedFlavors(LinkerMapMode.NO_LINKER_MAP.getFlavor()); BuildRule library = createTestLibraryRule(targetGraph, params, resolver, args, testHostInfo.map(TestHostInfo::getTestHostAppBinarySourcePath), testHostInfo.map(TestHostInfo::getBlacklist).orElse(ImmutableSet.of()), libraryTarget); if (!createBundle || SwiftLibraryDescription.isSwiftTarget(libraryTarget)) { return library; } SourcePathResolver sourcePathResolver = new SourcePathResolver(new SourcePathRuleFinder(resolver)); String platformName = appleCxxPlatform.getAppleSdk().getApplePlatform().getName(); BuildRule bundle = AppleDescriptions.createAppleBundle(cxxPlatformFlavorDomain, defaultCxxPlatform, appleCxxPlatformFlavorDomain, targetGraph, params.copyWithChanges( params.getBuildTarget().withAppendedFlavors(BUNDLE_FLAVOR, debugFormat.getFlavor(), LinkerMapMode.NO_LINKER_MAP.getFlavor(), AppleDescriptions.NO_INCLUDE_FRAMEWORKS_FLAVOR), // We have to add back the original deps here, since they're likely // stripped from the library link above (it doesn't actually depend on them). Suppliers.ofInstance(ImmutableSortedSet.<BuildRule>naturalOrder().add(library) .addAll(params.getDeclaredDeps().get()).build()), params.getExtraDeps()), resolver, codeSignIdentityStore, provisioningProfileStore, library.getBuildTarget(), args.getExtension(), Optional.empty(), args.infoPlist, args.infoPlistSubstitutions, args.deps, args.tests, debugFormat, appleConfig.useDryRunCodeSigning(), appleConfig.cacheBundlesAndPackages()); resolver.addToIndex(bundle); Optional<SourcePath> xctool = getXctool(params, resolver, sourcePathResolver); return new AppleTest(xctool, appleConfig.getXctoolStutterTimeoutMs(), appleCxxPlatform.getXctest(), appleConfig.getXctestPlatformNames().contains(platformName), platformName, appleConfig.getXctoolDefaultDestinationSpecifier(), Optional.of(args.destinationSpecifier), params.copyWithDeps(Suppliers.ofInstance(ImmutableSortedSet.of(bundle)), Suppliers.ofInstance(ImmutableSortedSet.of())), sourcePathResolver, bundle, testHostInfo.map(TestHostInfo::getTestHostApp), args.contacts, args.labels, args.getRunTestSeparately(), xcodeDeveloperDirectorySupplier, appleConfig.getTestLogDirectoryEnvironmentVariable(), appleConfig.getTestLogLevelEnvironmentVariable(), appleConfig.getTestLogLevel(), args.testRuleTimeoutMs.map(Optional::of).orElse(defaultTestRuleTimeoutMs), args.isUiTest(), args.snapshotReferenceImagesPath); }
From source file:com.facebook.buck.android.AndroidBinaryGraphEnhancer.java
/** * Creates/finds the set of build rules that correspond to pre-dex'd artifacts that should be * merged to create the final classes.dex for the APK. * <p>//from www.j a v a2 s.c o m * This method may modify {@code ruleResolver}, inserting new rules into its index. */ @VisibleForTesting BuildRule createPreDexMergeRule(UberRDotJava uberRDotJava) { ImmutableSet.Builder<DexProducedFromJavaLibrary> preDexDeps = ImmutableSet.builder(); ImmutableSet<JavaLibrary> transitiveJavaDeps = Classpaths.getClasspathEntries(originalDeps).keySet(); for (JavaLibrary javaLibrary : transitiveJavaDeps) { // If the rule has no output file (which happens when a java_library has no srcs or // resources, but export_deps is true), then there will not be anything to dx. if (javaLibrary.getPathToOutputFile() == null) { continue; } // If the rule is in the no_dx list, then do not pre-dex it. if (buildRulesToExcludeFromDex.contains(javaLibrary.getBuildTarget())) { continue; } // See whether the corresponding IntermediateDexRule has already been added to the // ruleResolver. BuildTarget originalTarget = javaLibrary.getBuildTarget(); BuildTarget preDexTarget = new BuildTarget(originalTarget.getBaseName(), originalTarget.getShortName(), DEX_FLAVOR); BuildRule preDexRule = ruleResolver.get(preDexTarget); if (preDexRule != null) { preDexDeps.add((DexProducedFromJavaLibrary) preDexRule.getBuildable()); continue; } // Create the IntermediateDexRule and add it to both the ruleResolver and preDexDeps. DexProducedFromJavaLibrary preDex = new DexProducedFromJavaLibrary(preDexTarget, javaLibrary); buildRuleAndAddToIndex(preDex, BuildRuleType.PRE_DEX, preDexTarget, ImmutableSortedSet.of(ruleResolver.get(javaLibrary.getBuildTarget()))); preDexDeps.add(preDex); } ImmutableSet<DexProducedFromJavaLibrary> allPreDexDeps = preDexDeps.build(); BuildTarget buildTargetForDexMerge = createBuildTargetWithFlavor(DEX_MERGE_FLAVOR); PreDexMerge preDexMerge = new PreDexMerge(buildTargetForDexMerge, primaryDexPath, dexSplitMode, allPreDexDeps, uberRDotJava); BuildRule preDexMergeBuildRule = buildRuleAndAddToIndex(preDexMerge, BuildRuleType.DEX_MERGE, buildTargetForDexMerge, getDexMergeDeps(uberRDotJava, allPreDexDeps)); return preDexMergeBuildRule; }
From source file:org.apache.rave.opensocial.service.impl.DefaultActivityStreamsService.java
private Set<String> getIdSet(UserId user, GroupId group, SecurityToken token) { String userId = user.getUserId(token); if (group == null) { return ImmutableSortedSet.of(userId); }//w ww .jav a 2 s. co m Set<String> returnVal = Sets.newLinkedHashSet(); returnVal.add(userId); Set<UserId> userIdSortedSet = new HashSet<UserId>(); userIdSortedSet.add(user); try { List<Person> people = personService.getPeople(userIdSortedSet, group, null, returnVal, token).get() .getList(); for (Person p : people) { returnVal.add(p.getId()); } } catch (InterruptedException e) { log.info("request interrupted " + e); } catch (ExecutionException x) { log.info("execution exception " + x); } catch (Exception e) { log.info("problem: " + e); } return returnVal; }
From source file:com.facebook.buck.features.go.GoTestDescription.java
private GoBinary createTestMainRule(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, ActionGraphBuilder graphBuilder, ImmutableSet<SourcePath> srcs, ImmutableMap<String, Path> coverVariables, GoTestCoverStep.Mode coverageMode, GoTestDescriptionArg args, GoPlatform platform) {//ww w .j a v a2 s. c om Path packageName = getGoPackageName(graphBuilder, buildTarget, args); boolean createResourcesSymlinkTree = goBuckConfig.getDelegate().getView(TestBuckConfig.class) .getExternalTestRunner().isPresent(); BuildRule testLibrary = new NoopBuildRuleWithDeclaredAndExtraDeps( buildTarget.withAppendedFlavors(TEST_LIBRARY_FLAVOR), projectFilesystem, params); graphBuilder.addToIndex(testLibrary); BuildRule generatedTestMain = requireTestMainGenRule(buildTarget, projectFilesystem, params, graphBuilder, platform, srcs, ImmutableMap.of(packageName, coverVariables), coverageMode, packageName); GoBinary testMain = GoDescriptors.createGoBinaryRule( buildTarget.withAppendedFlavors(InternalFlavor.of("test-main")), projectFilesystem, params.withDeclaredDeps(ImmutableSortedSet.of(testLibrary)) .withExtraDeps(ImmutableSortedSet.of(generatedTestMain)), graphBuilder, goBuckConfig, args.getLinkStyle().orElse(Linker.LinkableDepType.STATIC_PIC), args.getLinkMode(), ImmutableSet.of(generatedTestMain.getSourcePathToOutput()), createResourcesSymlinkTree ? args.getResources() : ImmutableSortedSet.of(), args.getCompilerFlags(), args.getAssemblerFlags(), args.getLinkerFlags(), args.getExternalLinkerFlags(), platform); graphBuilder.addToIndex(testMain); return testMain; }