@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; }
extraBuildConfig.putAll(getBaseVariant().getMergedFlavor().getBuildConfigFields()); extraBuildConfig.putAll(getBaseVariant().getBuildType().getBuildConfigFields());
@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; }
Strings.nullToEmpty(getBaseVariant().getMergedFlavor().getApplicationIdSuffix()) + Strings.nullToEmpty(getBaseVariant().getBuildType().getApplicationIdSuffix()); versionName = getBaseVariant().getMergedFlavor().getVersionName(); versionCode = getBaseVariant().getMergedFlavor().getVersionCode(); 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();
@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; }
cpuFilters = filters != null ? filters : ImmutableSet.of(); Boolean multidex = getBaseVariant().getMergedFlavor().getMultiDexEnabled(); if (multidex == null) { multidexEnabled = false; placeholders.putAll(getBaseVariant().getMergedFlavor().getManifestPlaceholders());
private void useHackedAndroidJar(BaseVariant variant) { try { System.err.println("Hacking variant " + variant); JavaCompile javaCompile = variant.getJavaCompile(); File modifiedAndroidJar = GenerateAndroidJar.getMergedJar( variant.getMergedFlavor().getMinSdkVersion().getApiLevel(), variant.getMergedFlavor().getTargetSdkVersion().getApiLevel(), true, true, true); javaCompile.getOptions().setBootClasspath(modifiedAndroidJar.getPath()); } catch (Exception e) { throw new RuntimeException(e); } } }