@Override public Object buildAll(String modelName, Project project) { if (AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project)) { resolveDependencies(project); } if (modelName.equals(AndroidProject.class.getName())) { return buildAndroidProject(project); } return buildGlobalLibraryMap(project); }
/** * Validate flag options. */ public static void validate(@NonNull Project project) { if (isImprovedDependencyResolutionEnabled(project) && !isBuildCacheEnabled(project)) { throw new InvalidUserDataException("Build cache must be enable to use improved " + "dependency resolution. Set -Pandroid.enableBuildCache=true to continue."); } }
Preconditions.checkState( !AndroidGradleOptions .isImprovedDependencyResolutionEnabled(project), "Improved dependency resolution must be used with " + "build cache.");
public void createReportTasks( TaskFactory tasks, final List<BaseVariantData<? extends BaseVariantOutputData>> variantDataList) { AndroidTask<DependencyReportTask> dependencyReportTask = androidTasks.create( tasks, "androidDependencies", DependencyReportTask.class, task -> { task.setDescription("Displays the Android dependencies of the project."); task.setVariants(variantDataList); task.setGroup(ANDROID_GROUP); }); if (AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project)) { for (BaseVariantData<? extends BaseVariantOutputData> variantData : variantDataList) { dependencyReportTask.dependsOn( tasks, variantData.getScope().getResolveDependenciesTask()); } } androidTasks.create(tasks, "signingReport", SigningReportTask.class, task -> { task.setDescription("Displays the signing info for each variant."); task.setVariants(variantDataList); task.setGroup(ANDROID_GROUP); }); }
@NonNull private AndroidTask<MergeResources> createMergeResourcesTask( @NonNull TaskFactory tasks, @NonNull BaseVariantData<? extends BaseVariantOutputData> variantData, @NonNull VariantScope variantScope, @NonNull File variantBundleDir) { // Create a merge task to only merge the resources from this library and not // the dependencies. This is what gets packaged in the aar. AndroidTask<MergeResources> mergeResourceTask = basicCreateMergeResourcesTask( tasks, variantScope, "package", FileUtils.join(variantBundleDir, "res"), false /*includeDependencies*/, false /*processResources*/); if (AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project) || variantData.getVariantDependency().hasNonOptionalLibraries()) { // Add a task to merge the resource folders, including the libraries, in order to // generate the R.txt file with all the symbols, including the ones from // the dependencies. createMergeResourcesTask(tasks, variantScope, false /*processResources*/); } mergeResourceTask.configure( tasks, task -> task.setPublicFile(FileUtils.join(variantBundleDir, FN_PUBLIC_TXT))); return mergeResourceTask; }
null; if (!AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project)) { recorder.record( ExecutionType.RESOLVE_DEPENDENCIES,
if (!AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project)) { recorder.record( ExecutionType.RESOLVE_DEPENDENCIES,
prepareDependenciesTask.dependsOn(tasks, variantDependencies.getPackageConfiguration()); if (AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project)) { AndroidTask<ResolveDependenciesTask> resolveDependenciesTask = androidTasks.create(
if (AndroidGradleOptions.isImprovedDependencyResolutionEnabled(project) || variantData.getVariantDependency().isAnnotationsPresent()) { AndroidTask<ExtractAnnotations> extractAnnotationsTask =