List of usage examples for com.google.common.collect ImmutableSortedSet of
@SuppressWarnings("unchecked") public static <E> ImmutableSortedSet<E> of()
From source file:com.facebook.buck.haskell.HaskellCompileRule.java
public static HaskellCompileRule from(BuildTarget target, BuildRuleParams baseParams, SourcePathRuleFinder ruleFinder, final SourcePathResolver resolver, final Tool compiler, HaskellVersion haskellVersion, ImmutableList<String> flags, final PreprocessorFlags ppFlags, CxxPlatform cxxPlatform, CxxSourceRuleFactory.PicType picType, Optional<String> main, Optional<HaskellPackageInfo> packageInfo, final ImmutableList<SourcePath> includes, final ImmutableSortedMap<String, HaskellPackage> exposedPackages, final ImmutableSortedMap<String, HaskellPackage> packages, final HaskellSources sources, Preprocessor preprocessor) {/*from ww w . ja v a 2 s. c o m*/ return new HaskellCompileRule( baseParams.copyWithChanges(target, Suppliers.memoize(() -> ImmutableSortedSet.<BuildRule>naturalOrder() .addAll(compiler.getDeps(ruleFinder)).addAll(ppFlags.getDeps(ruleFinder)) .addAll(ruleFinder.filterBuildRuleInputs(includes)) .addAll(sources.getDeps(ruleFinder)) .addAll(Stream.of(exposedPackages, packages) .flatMap(packageMap -> packageMap.values().stream()) .flatMap(pkg -> pkg.getDeps(ruleFinder)).iterator()) .build()), Suppliers.ofInstance(ImmutableSortedSet.of())), resolver, compiler, haskellVersion, flags, ppFlags, cxxPlatform, picType, main, packageInfo, includes, exposedPackages, packages, sources, preprocessor); }
From source file:com.facebook.buck.jvm.java.autodeps.JavaSymbolsRule.java
@Override public ImmutableSortedSet<BuildRule> getDeps() { return ImmutableSortedSet.of(); }
From source file:com.facebook.buck.parser.DefaultParser.java
@VisibleForTesting static BuildTarget applyDefaultFlavors(BuildTarget target, TargetNode<?> targetNode, TargetNodeSpec.TargetType targetType, ParserConfig.ApplyDefaultFlavorsMode applyDefaultFlavorsMode) { if (target.isFlavored() || (targetType == TargetNodeSpec.TargetType.MULTIPLE_TARGETS && applyDefaultFlavorsMode == ParserConfig.ApplyDefaultFlavorsMode.SINGLE) || applyDefaultFlavorsMode == ParserConfig.ApplyDefaultFlavorsMode.DISABLED) { return target; }/* www . ja v a 2s .c om*/ ImmutableSortedSet<Flavor> defaultFlavors = ImmutableSortedSet.of(); if (targetNode.getConstructorArg() instanceof HasDefaultFlavors) { defaultFlavors = ((HasDefaultFlavors) targetNode.getConstructorArg()).getDefaultFlavors(); LOG.debug("Got default flavors %s from args of %s", defaultFlavors, target); } if (targetNode.getDescription() instanceof ImplicitFlavorsInferringDescription) { defaultFlavors = ((ImplicitFlavorsInferringDescription) targetNode.getDescription()) .addImplicitFlavors(defaultFlavors); LOG.debug("Got default flavors %s from description of %s", defaultFlavors, target); } return target.withFlavors(defaultFlavors); }
From source file:com.opengamma.id.ExternalIdBundle.java
/** * Creates an empty bundle. */ private ExternalIdBundle() { _externalIds = ImmutableSortedSet.of(); }
From source file:com.facebook.buck.d.DDescriptionUtils.java
public static SymlinkTree createSourceSymlinkTree(BuildTarget target, BuildRuleParams baseParams, SourcePathResolver pathResolver, SourceList sources) { Preconditions.checkState(target.getFlavors().contains(SOURCE_LINK_TREE)); return new SymlinkTree( baseParams.copyWithChanges(target, Suppliers.ofInstance(ImmutableSortedSet.of()), Suppliers.ofInstance(ImmutableSortedSet.of())), pathResolver,//ww w .j av a 2 s . c om BuildTargets.getGenPath(baseParams.getProjectFilesystem(), baseParams.getBuildTarget(), "%s"), MoreMaps.transformKeys(sources.toNameMap(baseParams.getBuildTarget(), pathResolver, "srcs"), MorePaths.toPathFn(baseParams.getProjectFilesystem().getRootPath().getFileSystem()))); }
From source file:com.facebook.buck.cxx.CxxPreprocessables.java
/** * Build the {@link HeaderSymlinkTree} rule using the original build params from a target node. * In particular, make sure to drop all dependencies from the original build rule params, * as these are modeled via {@link CxxPreprocessAndCompile}. *///from www . j a v a 2s . c o m public static HeaderSymlinkTree createHeaderSymlinkTreeBuildRule(SourcePathResolver resolver, BuildTarget target, BuildRuleParams params, Path root, ImmutableMap<Path, SourcePath> links, HeaderMode headerMode) { // Symlink trees never need to depend on anything. BuildRuleParams paramsWithoutDeps = params.copyWithChanges(target, Suppliers.ofInstance(ImmutableSortedSet.of()), Suppliers.ofInstance(ImmutableSortedSet.of())); switch (headerMode) { case SYMLINK_TREE_WITH_HEADER_MAP: return new HeaderSymlinkTreeWithHeaderMap(paramsWithoutDeps, resolver, root, links); case HEADER_MAP_ONLY: return new DirectHeaderMap(paramsWithoutDeps, resolver, root, links); default: case SYMLINK_TREE_ONLY: return new HeaderSymlinkTree(paramsWithoutDeps, resolver, root, links); } }
From source file:com.facebook.buck.android.AndroidPrebuiltAarGraphEnhancer.java
/** * Creates a rooted DAG of build rules:/*from w ww . ja va 2s. c o m*/ * <ul> * <li>{@code unzip_aar} depends on the deps specified to the original {@code android_aar} * <li>{@code prebuilt_jar} depends on {@code unzip_aar} * <li>{@code android_resource} depends on {@code unzip_aar} * <li>{@code android_library} depends on {@code android_resource}, {@code prebuilt_jar}, and * {@code unzip_aar} * </ul> * Therefore, the return value is an {link AndroidLibrary} with no {@code srcs}. */ static AndroidPrebuiltAar enhance(BuildRuleParams originalBuildRuleParams, SourcePath aarFile, BuildRuleResolver ruleResolver, JavacOptions javacOptions) { SourcePathResolver pathResolver = new SourcePathResolver(ruleResolver); // unzip_aar BuildTarget originalBuildTarget = originalBuildRuleParams.getBuildTarget(); BuildRuleParams unzipAarParams = originalBuildRuleParams.copyWithChanges(UNZIP_AAR_TYPE, BuildTargets.createFlavoredBuildTarget(originalBuildTarget, AAR_UNZIP_FLAVOR), originalBuildRuleParams.getDeclaredDeps(), originalBuildRuleParams.getExtraDeps()); UnzipAar unzipAar = new UnzipAar(unzipAarParams, pathResolver, aarFile); ruleResolver.addToIndex(unzipAar); // unzip_aar#aar_classes_jar BuildRuleParams classesJarParams = originalBuildRuleParams.copyWithChanges(OutputOnlyBuildRule.TYPE, BuildTargets.createFlavoredBuildTarget(originalBuildTarget, AAR_CLASSES_JAR_FLAVOR), /* declaredDeps */ ImmutableSortedSet.<BuildRule>of(unzipAar), /* extraDeps */ ImmutableSortedSet.<BuildRule>of()); OutputOnlyBuildRule classesJar = new OutputOnlyBuildRule(classesJarParams, pathResolver, unzipAar.getPathToClassesJar()); ruleResolver.addToIndex(classesJar); // prebuilt_jar BuildRuleParams prebuiltJarParams = originalBuildRuleParams.copyWithChanges(PrebuiltJarDescription.TYPE, BuildTargets.createFlavoredBuildTarget(originalBuildTarget, AAR_PREBUILT_JAR_FLAVOR), /* declaredDeps */ ImmutableSortedSet.<BuildRule>of(unzipAar), /* extraDeps */ ImmutableSortedSet.<BuildRule>of()); PrebuiltJar prebuiltJar = new PrebuiltJar(/* params */ prebuiltJarParams, pathResolver, new BuildTargetSourcePath(classesJar.getBuildTarget()), /* sourceJar */ Optional.<SourcePath>absent(), /* gwtJar */ Optional.<SourcePath>absent(), /* javadocUrl */ Optional.<String>absent()); ruleResolver.addToIndex(prebuiltJar); // unzip_aar#aar_manifest BuildRuleParams manifestParams = originalBuildRuleParams.copyWithChanges(OutputOnlyBuildRule.TYPE, BuildTargets.createFlavoredBuildTarget(originalBuildTarget, AAR_MANIFEST), /* declaredDeps */ ImmutableSortedSet.<BuildRule>of(unzipAar), /* extraDeps */ ImmutableSortedSet.<BuildRule>of()); OutputOnlyBuildRule manifest = new OutputOnlyBuildRule(manifestParams, pathResolver, unzipAar.getAndroidManifest()); ruleResolver.addToIndex(manifest); // android_resource BuildRuleParams androidResourceParams = originalBuildRuleParams.copyWithChanges( AndroidResourceDescription.TYPE, BuildTargets.createFlavoredBuildTarget(originalBuildTarget, AAR_ANDROID_RESOURCE_FLAVOR), /* declaredDeps */ ImmutableSortedSet.<BuildRule>of(manifest), /* extraDeps */ ImmutableSortedSet.<BuildRule>of()); // Because all resources and assets are generated files, we specify them as empty collections. ImmutableSortedSet<Path> resSrcs = ImmutableSortedSet.of(); ImmutableSortedSet<Path> assetsSrcs = ImmutableSortedSet.of(); AndroidResource androidResource = new AndroidResource(androidResourceParams, pathResolver, /* deps */ ImmutableSortedSet.<BuildRule>of(unzipAar), unzipAar.getResDirectory(), resSrcs, /* rDotJavaPackage */ null, /* assets */ unzipAar.getAssetsDirectory(), assetsSrcs, new BuildTargetSourcePath(manifest.getBuildTarget()), /* hasWhitelistedStrings */ false); ruleResolver.addToIndex(androidResource); // android_library BuildRuleParams androidLibraryParams = originalBuildRuleParams.copyWithChanges( AndroidLibraryDescription.TYPE, originalBuildTarget, /* declaredDeps */ ImmutableSortedSet.<BuildRule>of(androidResource, prebuiltJar, unzipAar), /* extraDeps */ ImmutableSortedSet.<BuildRule>of()); return new AndroidPrebuiltAar(androidLibraryParams, pathResolver, unzipAar.getProguardConfig(), prebuiltJar, androidResource, javacOptions); }
From source file:com.facebook.buck.go.GoTestDescription.java
private GoTestMain requireTestMainGenRule(BuildRuleParams params, BuildRuleResolver resolver, ImmutableSet<SourcePath> srcs, Path packageName) throws NoSuchBuildTargetException { Tool testMainGenerator = GoDescriptors.getTestMainGenerator(goBuckConfig, params, resolver); SourcePathRuleFinder ruleFinder = new SourcePathRuleFinder(resolver); SourcePathResolver sourceResolver = new SourcePathResolver(ruleFinder); GoTestMain generatedTestMain = new GoTestMain( params.copyWithChanges(/* w w w .ja va 2 s .c o m*/ params.getBuildTarget().withAppendedFlavors(ImmutableFlavor.of("test-main-src")), Suppliers.ofInstance(ImmutableSortedSet.copyOf(testMainGenerator.getDeps(ruleFinder))), Suppliers.ofInstance(ImmutableSortedSet.of())), sourceResolver, testMainGenerator, srcs, packageName); resolver.addToIndex(generatedTestMain); return generatedTestMain; }
From source file:com.facebook.buck.rules.AbstractNodeBuilder.java
@SuppressWarnings("unchecked") private ImmutableSortedSet<BuildTarget> getDepsFromArg() { // Not all rules have deps, but all rules call them deps. When they do, they're always optional. // Grab them in the unsafest way I know. try {//from ww w . j a v a2 s.co m Field depsField = arg.getClass().getField("deps"); Object deps = depsField.get(arg); if (deps == null) { return ImmutableSortedSet.of(); } // Here's a whole series of assumptions in one lump of a Bad Idea. return (ImmutableSortedSet<BuildTarget>) deps; } catch (ReflectiveOperationException ignored) { // Field doesn't exist: no deps. return ImmutableSortedSet.of(); } }
From source file:com.facebook.buck.cxx.CxxDescriptionEnhancer.java
public static SymlinkTree createSandboxSymlinkTree(BuildRuleParams params, SourcePathResolver pathResolver, CxxPlatform cxxPlatform, ImmutableMap<Path, SourcePath> map) { BuildTarget sandboxSymlinkTreeTarget = CxxDescriptionEnhancer .createSandboxSymlinkTreeTarget(params.getBuildTarget(), cxxPlatform.getFlavor()); Path sandboxSymlinkTreeRoot = CxxDescriptionEnhancer .getSandboxSymlinkTreePath(params.getProjectFilesystem(), sandboxSymlinkTreeTarget); BuildRuleParams paramsWithoutDeps = params.copyWithChanges(sandboxSymlinkTreeTarget, Suppliers.ofInstance(ImmutableSortedSet.of()), Suppliers.ofInstance(ImmutableSortedSet.of())); return new SymlinkTree(paramsWithoutDeps, pathResolver, sandboxSymlinkTreeRoot, map); }