Logger logger = getLogger();
ProgressLogger progressLogger = getProgressLoggerFactory().newOperation(getClass());
progressLogger.setDescription("Gradle Build Comparison");
progressLogger.setShortDescription(getName());
GradleBuildComparison comparison = new GradleBuildComparison(
sourceBuildExecuter, targetBuildExecuter,
logger, progressLogger,
getProject().getGradle()
);
comparison.registerType(
GeneratedArchiveBuildOutcome.class,
new GeneratedArchiveBuildOutcomeComparator(),
new GeneratedArchiveBuildOutcomeComparisonResultHtmlRenderer(),
new GeneratedArchiveBuildOutcomeHtmlRenderer()
);
comparison.registerType(
UnknownBuildOutcome.class,
new UnknownBuildOutcomeComparator(),
new UnknownBuildOutcomeComparisonResultHtmlRenderer(),
new UnknownBuildOutcomeHtmlRenderer()
);
File fileStoreTmpBase = getFileResolver().resolve(String.format(TMP_FILESTORAGE_PREFIX + "-%s-%s", getName(), System.currentTimeMillis()));
FileStore<String> fileStore = new PathNormalisingKeyFileStore(fileStoreTmpBase);
Map<String, String> hostAttributes = new LinkedHashMap<String, String>(4);
hostAttributes.put("Project", getProject().getRootDir().getAbsolutePath());
hostAttributes.put("Task", getPath());
hostAttributes.put("Gradle version", GradleVersion.current().getVersion());
hostAttributes.put("Executed at", new SimpleDateFormat().format(new Date()));
BuildComparisonResult result = comparison.compare(fileStore, getReportDir(), hostAttributes);
communicateResult(result);
}