use of com.google.common.collect.ImmutableBiMap in project buck by facebook.
the class DistBuildState method load.
public static DistBuildState load(// e.g. the slave's .buckconfig
Optional<BuckConfig> localBuckConfig, BuildJobState jobState, Cell rootCell, KnownBuildRuleTypesFactory knownBuildRuleTypesFactory) throws IOException {
ProjectFilesystem rootCellFilesystem = rootCell.getFilesystem();
ImmutableMap.Builder<Path, BuckConfig> cellConfigs = ImmutableMap.builder();
ImmutableMap.Builder<Path, ProjectFilesystem> cellFilesystems = ImmutableMap.builder();
ImmutableMap.Builder<Integer, Path> cellIndex = ImmutableMap.builder();
Path sandboxPath = rootCellFilesystem.getRootPath().resolve(rootCellFilesystem.getBuckPaths().getRemoteSandboxDir());
rootCellFilesystem.mkdirs(sandboxPath);
Path uniqueBuildRoot = Files.createTempDirectory(sandboxPath, "build");
for (Map.Entry<Integer, BuildJobStateCell> remoteCellEntry : jobState.getCells().entrySet()) {
BuildJobStateCell remoteCell = remoteCellEntry.getValue();
Path cellRoot = uniqueBuildRoot.resolve(remoteCell.getNameHint());
Files.createDirectories(cellRoot);
Config config = createConfig(remoteCell.getConfig(), localBuckConfig);
ProjectFilesystem projectFilesystem = new ProjectFilesystem(cellRoot, config);
BuckConfig buckConfig = createBuckConfig(config, projectFilesystem, remoteCell.getConfig());
cellConfigs.put(cellRoot, buckConfig);
cellFilesystems.put(cellRoot, projectFilesystem);
cellIndex.put(remoteCellEntry.getKey(), cellRoot);
}
CellProvider cellProvider = CellProvider.createForDistributedBuild(cellConfigs.build(), cellFilesystems.build(), knownBuildRuleTypesFactory);
ImmutableBiMap<Integer, Cell> cells = ImmutableBiMap.copyOf(Maps.transformValues(cellIndex.build(), cellProvider::getCellByPath));
return new DistBuildState(jobState, cells);
}
use of com.google.common.collect.ImmutableBiMap in project buck by facebook.
the class ResourcesFilter method createFilterResourcesStep.
/**
* Sets up filtering of resources, images/drawables and strings in particular, based on build
* rule parameters {@link #resourceFilter} and {@link #resourceCompressionMode}.
*
* {@link com.facebook.buck.android.FilterResourcesStep.ResourceFilter} {@code resourceFilter}
* determines which drawables end up in the APK (based on density - mdpi, hdpi etc), and also
* whether higher density drawables get scaled down to the specified density (if not present).
*
* {@link #resourceCompressionMode} determines whether non-english string resources are packaged
* separately as assets (and not bundled together into the {@code resources.arsc} file).
*
* @param whitelistedStringDirs overrides storing non-english strings as assets for resources
* inside these directories.
*/
@VisibleForTesting
FilterResourcesStep createFilterResourcesStep(ImmutableList<Path> resourceDirectories, ImmutableSet<Path> whitelistedStringDirs, ImmutableSet<String> locales, ImmutableList.Builder<Path> filteredResDirectories) {
ImmutableBiMap.Builder<Path, Path> filteredResourcesDirMapBuilder = ImmutableBiMap.builder();
String resDestinationBasePath = getResDestinationBasePath();
int count = 0;
for (Path resDir : resourceDirectories) {
Path filteredResourceDir = Paths.get(resDestinationBasePath, String.valueOf(count++));
filteredResourcesDirMapBuilder.put(resDir, filteredResourceDir);
filteredResDirectories.add(filteredResourceDir);
}
ImmutableBiMap<Path, Path> resSourceToDestDirMap = filteredResourcesDirMapBuilder.build();
FilterResourcesStep.Builder filterResourcesStepBuilder = FilterResourcesStep.builder().setProjectFilesystem(getProjectFilesystem()).setInResToOutResDirMap(resSourceToDestDirMap).setResourceFilter(resourceFilter);
if (resourceCompressionMode.isStoreStringsAsAssets()) {
filterResourcesStepBuilder.enableStringWhitelisting();
filterResourcesStepBuilder.setWhitelistedStringDirs(whitelistedStringDirs);
}
filterResourcesStepBuilder.setLocales(locales);
return filterResourcesStepBuilder.build();
}
use of com.google.common.collect.ImmutableBiMap in project binnavi by google.
the class CPostgreSQLModuleContentTest method testCModuleContentConstructor.
@Test
public void testCModuleContentConstructor() throws LoadCancelledException, CouldntLoadDataException {
final CModule module = (CModule) getDatabase().getContent().getModules().get(0);
module.load();
final ListenerProvider<IModuleListener> listeners = new ListenerProvider<IModuleListener>();
final CCallgraph callgraph = module.getContent().getNativeCallgraph();
final IFilledList<INaviFunction> functions = new FilledList<INaviFunction>();
functions.add(module.getContent().getFunctionContainer().getFunctions().get(0));
final ICallgraphView nativeCallgraph = module.getContent().getViewContainer().getNativeCallgraphView();
final ImmutableList<IFlowgraphView> nativeFlowgraphs = module.getContent().getViewContainer().getNativeFlowgraphViews();
final List<INaviView> customViews = new ArrayList<INaviView>();
final ImmutableBiMap<INaviView, INaviFunction> viewFunctionMap = new ImmutableBiMap.Builder<INaviView, INaviFunction>().build();
new Pair<HashMap<INaviView, INaviFunction>, HashMap<INaviFunction, INaviView>>(null, null);
final IFilledList<TraceList> traces = new FilledList<TraceList>();
final SectionContainer sections = new SectionContainer(new SectionContainerBackend(getProvider(), module));
final TypeInstanceContainer instances = new TypeInstanceContainer(new TypeInstanceContainerBackend(getProvider(), module, module.getTypeManager(), sections), getProvider());
final CModuleContent moduleContent1 = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, nativeFlowgraphs, customViews, viewFunctionMap, traces, sections, instances);
assertNotNull(moduleContent1);
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(null, null, null, null, null, null, null, null, null, null, sections, instances);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, null, null, null, null, null, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), null, null, null, null, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, null, null, null, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, null, null, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, null, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, null, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, nativeFlowgraphs, null, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, nativeFlowgraphs, customViews, null, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, nativeFlowgraphs, customViews, viewFunctionMap, null, null, null);
fail();
} catch (final NullPointerException e) {
}
try {
@SuppressWarnings("unused") final CModuleContent moduleContent = new CModuleContent(module, getProvider(), listeners, callgraph, functions, nativeCallgraph, nativeFlowgraphs, customViews, viewFunctionMap, traces, null, null);
fail();
} catch (final NullPointerException e) {
}
}
use of com.google.common.collect.ImmutableBiMap in project error-prone by google.
the class ScannerSupplier method fromBugCheckerInfos.
/**
* Returns a {@link ScannerSupplier} built from a list of {@link BugCheckerInfo}s.
*/
public static ScannerSupplier fromBugCheckerInfos(Iterable<BugCheckerInfo> checkers) {
ImmutableBiMap.Builder<String, BugCheckerInfo> builder = ImmutableBiMap.builder();
for (BugCheckerInfo checker : checkers) {
builder.put(checker.canonicalName(), checker);
}
ImmutableBiMap<String, BugCheckerInfo> allChecks = builder.build();
return new ScannerSupplierImpl(allChecks, defaultSeverities(allChecks.values()), ImmutableSet.<String>of());
}
Aggregations