/** 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; }
@Nullable private Keystore extractKeystore() { SigningConfig mergedConfig = getBaseVariant().getMergedFlavor().getSigningConfig(); SigningConfig config = mergedConfig != null ? mergedConfig : getBaseVariant().getBuildType().getSigningConfig(); if (config != null) { String keystoreFilePath = FileUtil.getRelativePath(getRootProject().getProjectDir(), config.getStoreFile()); ProjectUtil.getPlugin(getProject()).exportedPaths.add(keystoreFilePath); return Keystore.create( keystoreFilePath, config.getStorePassword(), config.getKeyAlias(), config.getKeyPassword()); } return null; }
String getBuildType() { return getBaseVariant().getBuildType().getName(); }
Strings.nullToEmpty(getBaseVariant().getMergedFlavor().getApplicationIdSuffix()) + Strings.nullToEmpty(getBaseVariant().getBuildType().getApplicationIdSuffix()); versionName = getBaseVariant().getMergedFlavor().getVersionName(); versionCode = getBaseVariant().getMergedFlavor().getVersionCode(); debuggable = getBaseVariant().getBuildType().isDebuggable(); if (getBaseVariant().getMergedFlavor().getMinSdkVersion() == null || getBaseVariant().getMergedFlavor().getTargetSdkVersion() == null) { minSdk = targetSdk = DEFAULT_SDK; throw new IllegalStateException( + "` must specify minSdkVersion and targetSdkVersion in build.gradle"); } else { minSdk = getBaseVariant().getMergedFlavor().getMinSdkVersion().getApiString(); targetSdk = getBaseVariant().getMergedFlavor().getTargetSdkVersion().getApiString();
extraBuildConfig.putAll(getBaseVariant().getMergedFlavor().getBuildConfigFields()); extraBuildConfig.putAll(getBaseVariant().getBuildType().getBuildConfigFields()); "%s %s = %s", classField.getType(), key, classField.getValue()); }) .collect(Collectors.toList()));
if (lintOptions.isAbortOnError()) { if (lintOptions.isCheckAllWarnings()) { if (lintOptions.isIgnoreWarnings()) { if (lintOptions.isWarningsAsErrors()) { if (lintOptions.isNoLines()) { if (valid(lintOptions.getDisable())) { __internal.renderValue((String.join(",", lintOptions.getDisable())), false); if (valid(lintOptions.getEnable())) { __internal.renderValue((String.join(",", lintOptions.getEnable())), false);
public AndroidAppTarget(Project project, String name, boolean isTest) { super(project, name, isTest); minifyEnabled = getBaseVariant().getBuildType().isMinifyEnabled(); keystore = extractKeystore(); cpuFilters = filters != null ? filters : ImmutableSet.of(); Boolean multidex = getBaseVariant().getMergedFlavor().getMultiDexEnabled(); if (multidex == null) { multidexEnabled = false; placeholders.putAll(getBaseVariant().getBuildType().getManifestPlaceholders()); placeholders.putAll(getBaseVariant().getMergedFlavor().getManifestPlaceholders());
public Set<String> getResDirs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getResDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
@Nullable TestVariant getInstrumentationTestVariant() { if (getBaseVariant() instanceof TestedVariant) { TestVariant testVariant = ((TestedVariant) getBaseVariant()).getTestVariant(); if (testVariant != null) { Set<String> manifests = new HashSet<>(); testVariant .getSourceSets() .forEach( provider -> manifests.addAll(getAvailable(ImmutableSet.of(provider.getManifestFile())))); return manifests.isEmpty() ? null : testVariant; } } return null; }
public Set<String> getAssetDirs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getAssetsDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public Set<String> getAidl() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getAidlDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
@Nullable public String getConsumerProguardConfig() { Set<File> consumerProguardFiles = new ImmutableSet.Builder<File>() .addAll(getBaseVariant().getMergedFlavor().getConsumerProguardFiles()) .addAll(getBaseVariant().getBuildType().getConsumerProguardFiles()) .build(); if (consumerProguardFiles.size() > 0) { Optional<File> optionalFile = consumerProguardFiles.stream().findFirst(); return FileUtil.getRelativePath(getProject().getProjectDir(), optionalFile.get()); } return null; }
@Nullable public String getProguardConfig() { if (minifyEnabled) { Set<File> proguardFiles = new ImmutableSet.Builder<File>() .addAll(getBaseVariant().getMergedFlavor().getProguardFiles()) .addAll(getBaseVariant().getBuildType().getProguardFiles()) .build(); Preconditions.checkArgument( proguardFiles.size() == 1, "%s proguard files found. Only one can be used.", proguardFiles.size()); File proguardFile = proguardFiles.iterator().next(); Preconditions.checkArgument( proguardFile.exists(), "Proguard file %s does not exist", proguardFile); return FileUtil.getRelativePath(getProject().getRootDir(), proguardFile); } return null; }
public Set<String> getJniLibs() { return getBaseVariant() .getSourceSets() .stream() .map(i -> getAvailable(i.getJniLibsDirectories())) .flatMap(Collection::stream) .collect(Collectors.toSet()); }
public boolean isMultiDexEnabled() { Boolean value = mBuildType.getMultiDexEnabled(); if (value != null) { return value; } value = mMergedFlavor.getMultiDexEnabled(); if (value != null) { return value; } return false; }
public File getMultiDexKeepProguard() { File value = mBuildType.getMultiDexKeepProguard(); if (value != null) { return value; } value = mMergedFlavor.getMultiDexKeepProguard(); if (value != null) { return value; } return null; }
public File getMultiDexKeepFile() { File value = mBuildType.getMultiDexKeepFile(); if (value != null) { return value; } value = mMergedFlavor.getMultiDexKeepFile(); if (value != null) { return value; } return null; }
String lintConfigPath; if (target.getLintOptions() != null && target.getLintOptions().getLintConfig() != null && target.getLintOptions().getLintConfig().exists()) { lintConfigPath = FileUtil.getRelativePath( target.getRootProject().getProjectDir(), target.getLintOptions().getLintConfig()); ProjectUtil.getPlugin(target.getRootProject()).exportedPaths.add(lintConfigPath); } else {
@Override Map<String, String> getResVariantDirs() { Map<String, String> variantDirs = new HashMap<>(); getLibraryVariant() .getSourceSets() .forEach( provider -> getAvailable(provider.getResDirectories()) .forEach(dir -> variantDirs.put(dir, provider.getName()))); return variantDirs; }
@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; }