public Set<File> getJavaResources(BaseVariant variant) { return variant .getSourceSets() .stream() .map(SourceProvider::getResourcesDirectories) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public Set<String> getResDirs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getResDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
@Nullable public String getProjectResDir() { List<SourceProvider> sourceSets = getBaseVariant().getSourceSets(); if (!sourceSets.isEmpty()) { SourceProvider main = sourceSets.get(0); Set<String> mainResDirectories = getAvailable(main.getResDirectories()); if (mainResDirectories.size() > 0) { return mainResDirectories.iterator().next(); } } return null; }
public Set<String> getAidl() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getAidlDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public Set<String> getAssetDirs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getAssetsDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public Set<String> getJniLibs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getJniLibsDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public Set<File> getSources(BaseVariant variant) { ImmutableSet.Builder<File> srcs = new ImmutableSet.Builder<>(); Set<File> javaSrcs = variant .getSourceSets() .stream() .map(SourceProvider::getJavaDirectories) .flatMap(Collection::stream) .collect(Collectors.toSet()); srcs.addAll(javaSrcs); if (isKotlinAndroid) { srcs.addAll( javaSrcs .stream() .filter(i -> i.getName().equals("java")) .map(i -> getProject().file(i.getAbsolutePath().replaceFirst("/java$", "/kotlin"))) .collect(Collectors.toSet())); } return srcs.build(); }
@Initializer @SuppressWarnings("NullAway") void ensureManifest() { Set<String> manifests = getBaseVariant() .getSourceSets() .stream() .map(SourceProvider::getManifestFile) .map(file -> getAvailable(ImmutableSet.of(file))) .flatMap(Collection::stream) .collect(Collectors.toCollection(LinkedHashSet::new)); if (manifests.isEmpty()) { return; } secondaryManifests = new ArrayList<>(manifests); mainManifest = secondaryManifests.remove(0); }
/** Returns a map of each resource directory to its corresponding variant */ Map<String, String> getResVariantDirs() { Map<String, String> variantDirs = new HashMap<>(); for (SourceProvider provider : getBaseVariant().getSourceSets()) { for (String dir : getAvailable(provider.getResDirectories())) { variantDirs.put(dir, provider.getName()); } } return variantDirs; }
protected Stream<BaseVariant> getAllVariants(AndroidSourceSet androidSourceSet) { Stream<BaseVariant> testVariants = Stream.concat(getTestVariants().stream(), getUnitTestVariants().stream()); Stream<BaseVariant> variants = Stream.concat(getAndroidVariants().stream(), testVariants); //noinspection SuspiciousMethodCalls return variants.filter(variant -> variant.getSourceSets().contains(androidSourceSet)); } }
private static void populateSonarQubeProps(Map<String, Object> properties, List<File> bootClassPath, BaseVariant variant, boolean isTest) { List<File> srcDirs = variant.getSourceSets().stream().map(AndroidUtils::getFilesFromSourceSet).collect( ArrayList::new, ArrayList::addAll,
private static void populateSonarQubeProps(Map<String, Object> properties, List<File> bootClassPath, BaseVariant variant, boolean isTest) { List<File> srcDirs = variant.getSourceSets().stream().map(AndroidUtils::getFilesFromSourceSet).collect( ArrayList::new, ArrayList::addAll,
@Override public VariantScope create(BaseVariant v) { ConfigurationContainer configurations = project.getConfigurations(); // the actual configuration Configuration configuration = getByVariant(v.getName()); // attributes match AttributeContainer attributes = configuration.getAttributes(); attributes .attribute(ARTIFACT_TYPE, ArtifactTypeDefinition.JAR_TYPE) .attribute(BuildTypeAttr.ATTRIBUTE, project.getObjects().named(BuildTypeAttr.class, v.getBuildType().getName())) .attribute(Usage.USAGE_ATTRIBUTE, project.getObjects().named(Usage.class, Usage.JAVA_RUNTIME)); v.getProductFlavors().forEach(p -> attributes.attribute(Attribute.of(p.getDimension(), ProductFlavorAttr.class), project.getObjects().named(ProductFlavorAttr.class, p.getName()))); configuration.setDescription("Resolved configuration for capt for variant: " + v.getName()); configuration.setVisible(false); configuration.setCanBeConsumed(false); configuration.getResolutionStrategy().sortArtifacts(ResolutionStrategy.SortOrder.CONSUMER_FIRST); v.getSourceSets().stream() .map(SourceProvider::getName) .map(VariantManager::sourceSetToConfigurationName) .map(configurations::getByName) .forEach(configuration::extendsFrom); return new VariantScope(v.getName(), configuration, global); }
compileJava.getInputs().file(lombokPlugin.getGenerateLombokConfig().getOutputFile()); variant.getSourceSets().forEach(sourceProvider -> { delombok.getInput().from(sourceProvider.getJavaDirectories()); });
sourceDirectorySetFactory.create("eta", variantName + " Eta source"); for (SourceProvider sourceProvider : variant.getSourceSets()) { final EtaSourceSet etaSourceSet = ExtensionHelper.getConvention(sourceProvider, EtaSourceSet.class);