use of org.gradle.api.tasks.diagnostics.internal.DefaultGroupTaskReportModel in project gradle by gradle.
the class TaskReportTask method generate.
@Override
public void generate(Project project) throws IOException {
renderer.showDetail(isDetail());
renderer.addDefaultTasks(project.getDefaultTasks());
AggregateMultiProjectTaskReportModel aggregateModel = new AggregateMultiProjectTaskReportModel(!isDetail(), isDetail());
TaskDetailsFactory taskDetailsFactory = new TaskDetailsFactory(project);
SingleProjectTaskReportModel projectTaskModel = new SingleProjectTaskReportModel(taskDetailsFactory);
projectTaskModel.build(getProjectTaskLister().listProjectTasks(project));
aggregateModel.add(projectTaskModel);
for (Project subproject : project.getSubprojects()) {
SingleProjectTaskReportModel subprojectTaskModel = new SingleProjectTaskReportModel(taskDetailsFactory);
subprojectTaskModel.build(getProjectTaskLister().listProjectTasks(subproject));
aggregateModel.add(subprojectTaskModel);
}
aggregateModel.build();
DefaultGroupTaskReportModel model = new DefaultGroupTaskReportModel();
model.build(aggregateModel);
for (String group : model.getGroups()) {
renderer.startTaskGroup(group);
for (TaskDetails task : model.getTasksForGroup(group)) {
renderer.addTask(task);
}
}
renderer.completeTasks();
for (Rule rule : project.getTasks().getRules()) {
renderer.addRule(rule);
}
}
Aggregations