if (merge.getResult().isSuccess()) { String mergedDocument = merge.getMergedDocument(MergingReport.MergedManifestKind.MERGED); if (mergedDocument != null) {
if (merge.getResult().isSuccess()) { String mergedDocument = merge.getMergedDocument(MergingReport.MergedManifestKind.MERGED); if (mergedDocument != null) {
private void handleMergingResult(@NonNull MergingReport mergingReport, @NonNull File outFile) { switch (mergingReport.getResult()) { case WARNING: mergingReport.log(mLogger); // fall through since these are just warnings. case SUCCESS: XmlDocument xmlDocument = mergingReport.getMergedDocument().get(); try { String annotatedDocument = mergingReport.getActions().blame(xmlDocument); mLogger.verbose(annotatedDocument); } catch (Exception e) { mLogger.error(e, "cannot print resulting xml"); } save(xmlDocument, outFile); mLogger.info("Merged manifest saved to " + outFile); break; case ERROR: mergingReport.log(mLogger); throw new RuntimeException(mergingReport.getReportString()); default: throw new RuntimeException("Unhandled result type : " + mergingReport.getResult()); } }
@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)); } }