use of org.gradle.api.internal.ConventionMapping in project gradle by gradle.
the class JavaBasePlugin method createCompileJavaTaskForBinary.
private void createCompileJavaTaskForBinary(final SourceSet sourceSet, final SourceDirectorySet sourceDirectorySet, final Project target) {
JavaCompile compileTask = target.getTasks().create(sourceSet.getCompileJavaTaskName(), JavaCompile.class);
compileTask.setDescription("Compiles " + sourceDirectorySet + ".");
compileTask.setSource(sourceDirectorySet);
ConventionMapping conventionMapping = compileTask.getConventionMapping();
conventionMapping.map("classpath", new Callable<Object>() {
public Object call() throws Exception {
return sourceSet.getCompileClasspath();
}
});
SourceSetUtil.configureAnnotationProcessorPath(sourceSet, compileTask.getOptions(), target);
SourceSetUtil.configureOutputDirectoryForSourceSet(sourceSet, sourceDirectorySet, compileTask, target);
}
use of org.gradle.api.internal.ConventionMapping in project gradle by gradle.
the class BuildDashboardPlugin method apply.
public void apply(final Project project) {
project.getPluginManager().apply(ReportingBasePlugin.class);
final GenerateBuildDashboard buildDashboardTask = project.getTasks().create(BUILD_DASHBOARD_TASK_NAME, GenerateBuildDashboard.class);
buildDashboardTask.setDescription("Generates a dashboard of all the reports produced by this build.");
buildDashboardTask.setGroup("reporting");
DirectoryReport htmlReport = buildDashboardTask.getReports().getHtml();
ConventionMapping htmlReportConventionMapping = new DslObject(htmlReport).getConventionMapping();
htmlReportConventionMapping.map("destination", new Callable<Object>() {
public Object call() throws Exception {
return project.getExtensions().getByType(ReportingExtension.class).file("buildDashboard");
}
});
Action<Task> captureReportingTasks = new Action<Task>() {
public void execute(Task task) {
if (!(task instanceof Reporting)) {
return;
}
Reporting reporting = (Reporting) task;
buildDashboardTask.aggregate(reporting);
if (!task.equals(buildDashboardTask)) {
task.finalizedBy(buildDashboardTask);
}
}
};
for (Project aProject : project.getAllprojects()) {
aProject.getTasks().all(captureReportingTasks);
}
}
Aggregations