@TaskAction protected void doFullTaskAction() throws ManifestMerger2.MergeFailureException, IOException { ILogger iLogger = new LoggerWrapper(getLogger()); ManifestMerger2.Invoker mergerInvoker = ManifestMerger2. newMerger(getMainManifestFile(), iLogger, ManifestMerger2.MergeType.APPLICATION); List<File> secondaryManifestFiles = getSecondaryManifestFiles(); mergerInvoker.addLibraryManifests(secondaryManifestFiles.toArray(new File[secondaryManifestFiles.size()])); MergingReport mergingReport = mergerInvoker.merge(); if (mergingReport.getResult().isError()) { getLogger().error(mergingReport.getReportString()); mergingReport.log(iLogger); throw new BuildException(mergingReport.getReportString()); } try (FileWriter fileWriter = new FileWriter(getOutputFile())) { fileWriter.append(mergingReport .getMergedDocument(MergingReport.MergedManifestKind.MERGED)); } }
.setPlaceHolderValue(PlaceholderHandler.INSTRUMENTATION_RUNNER, instrumentationRunner) .addLibraryManifests(generatedTestManifest); if (minSdkVersion != null) { invoker.setOverride(SystemProperty.MIN_SDK_VERSION, minSdkVersion); .withFeatures(Invoker.Feature.REMOVE_TOOLS_DECLARATIONS) .setOverride(SystemProperty.PACKAGE, testApplicationId) .addLibraryManifests(collectLibraries(libraries)) .setPlaceHolderValues(manifestPlaceholders) .merge();
.addFlavorAndBuildTypeManifests( manifestOverlays.toArray(new File[manifestOverlays.size()])) .addLibraryManifests(collectLibraries(libraries)) .setMergeReportFile(reportFile);