Search in sources :

Example 1 with TaskDetails

use of org.gradle.api.tasks.diagnostics.internal.TaskDetails 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);
    }
}
Also used : Project(org.gradle.api.Project) DefaultGroupTaskReportModel(org.gradle.api.tasks.diagnostics.internal.DefaultGroupTaskReportModel) TaskDetails(org.gradle.api.tasks.diagnostics.internal.TaskDetails) AggregateMultiProjectTaskReportModel(org.gradle.api.tasks.diagnostics.internal.AggregateMultiProjectTaskReportModel) Rule(org.gradle.api.Rule) SingleProjectTaskReportModel(org.gradle.api.tasks.diagnostics.internal.SingleProjectTaskReportModel) TaskDetailsFactory(org.gradle.api.tasks.diagnostics.internal.TaskDetailsFactory)

Aggregations

Project (org.gradle.api.Project)1 Rule (org.gradle.api.Rule)1 AggregateMultiProjectTaskReportModel (org.gradle.api.tasks.diagnostics.internal.AggregateMultiProjectTaskReportModel)1 DefaultGroupTaskReportModel (org.gradle.api.tasks.diagnostics.internal.DefaultGroupTaskReportModel)1 SingleProjectTaskReportModel (org.gradle.api.tasks.diagnostics.internal.SingleProjectTaskReportModel)1 TaskDetails (org.gradle.api.tasks.diagnostics.internal.TaskDetails)1 TaskDetailsFactory (org.gradle.api.tasks.diagnostics.internal.TaskDetailsFactory)1