diff --git a/subprojects/core/src/main/java/org/gradle/execution/taskgraph/DefaultTaskExecutionPlan.java b/subprojects/core/src/main/java/org/gradle/execution/taskgraph/DefaultTaskExecutionPlan.java index 0b7d33367e4b..c0b29e8eb853 100644 --- a/subprojects/core/src/main/java/org/gradle/execution/taskgraph/DefaultTaskExecutionPlan.java +++ b/subprojects/core/src/main/java/org/gradle/execution/taskgraph/DefaultTaskExecutionPlan.java @@ -89,7 +89,7 @@ public class DefaultTaskExecutionPlan implements TaskExecutionPlan { private final Set tasksInUnknownState = new LinkedHashSet(); private final Set entryTasks = new LinkedHashSet(); - private final TaskDependencyGraph graph = new TaskDependencyGraph(); + private final TaskInfoFactory nodeFactory = new TaskInfoFactory(); private final LinkedHashMap executionPlan = new LinkedHashMap(); private final List executionQueue = new LinkedList(); private final Map projectLocks = Maps.newHashMap(); @@ -120,7 +120,7 @@ public void addToTaskGraph(Collection tasks) { List sortedTasks = new ArrayList(tasks); Collections.sort(sortedTasks); for (Task task : sortedTasks) { - TaskInfo node = graph.addNode(task); + TaskInfo node = nodeFactory.createNode(task); if (node.isMustNotRun()) { requireWithDependencies(node); } else if (filter.isSatisfiedBy(task)) { @@ -159,25 +159,25 @@ public void addToTaskGraph(Collection tasks) { ((TaskContainerInternal) task.getProject().getTasks()).prepareForExecution(task); Set dependsOnTasks = context.getDependencies(task); for (Task dependsOnTask : dependsOnTasks) { - TaskInfo targetNode = graph.addNode(dependsOnTask); + TaskInfo targetNode = nodeFactory.createNode(dependsOnTask); node.addDependencySuccessor(targetNode); if (!visiting.contains(targetNode)) { queue.add(0, targetNode); } } for (Task finalizerTask : task.getFinalizedBy().getDependencies(task)) { - TaskInfo targetNode = graph.addNode(finalizerTask); + TaskInfo targetNode = nodeFactory.createNode(finalizerTask); addFinalizerNode(node, targetNode); if (!visiting.contains(targetNode)) { queue.add(0, targetNode); } } for (Task mustRunAfter : task.getMustRunAfter().getDependencies(task)) { - TaskInfo targetNode = graph.addNode(mustRunAfter); + TaskInfo targetNode = nodeFactory.createNode(mustRunAfter); node.addMustSuccessor(targetNode); } for (Task shouldRunAfter : task.getShouldRunAfter().getDependencies(task)) { - TaskInfo targetNode = graph.addNode(shouldRunAfter); + TaskInfo targetNode = nodeFactory.createNode(shouldRunAfter); node.addShouldSuccessor(targetNode); } if (node.isRequired()) { @@ -490,7 +490,7 @@ public void clear() { coordinationService.withStateLock(new Transformer() { @Override public ResourceLockState.Disposition transform(ResourceLockState resourceLockState) { - graph.clear(); + nodeFactory.clear(); entryTasks.clear(); executionPlan.clear(); executionQueue.clear(); diff --git a/subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskDependencyGraph.java b/subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskInfoFactory.java similarity index 88% rename from subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskDependencyGraph.java rename to subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskInfoFactory.java index bc4e88797237..1a26b26d3a28 100644 --- a/subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskDependencyGraph.java +++ b/subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskInfoFactory.java @@ -17,7 +17,6 @@ package org.gradle.execution.taskgraph; -import org.gradle.api.Nullable; import org.gradle.api.Task; import org.gradle.api.internal.TaskInternal; import org.gradle.initialization.includedbuild.IncludedBuildTaskResource; @@ -26,20 +25,14 @@ import java.util.Map; import java.util.Set; -// TODO:DAZ Rename TaskInfoFactory and remove `getNode` -public class TaskDependencyGraph { +public class TaskInfoFactory { private final Map nodes = new HashMap(); public Set getTasks() { return nodes.keySet(); } - @Nullable - public TaskInfo getNode(Task task) { - return nodes.get(task); - } - - public TaskInfo addNode(Task task) { + public TaskInfo createNode(Task task) { TaskInfo node = nodes.get(task); if (node == null) { if (task instanceof IncludedBuildTaskResource) { diff --git a/subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskDependencyGraphTest.groovy b/subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskInfoFactoryTest.groovy similarity index 81% rename from subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskDependencyGraphTest.groovy rename to subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskInfoFactoryTest.groovy index 7be312a90801..99c03b870425 100644 --- a/subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskDependencyGraphTest.groovy +++ b/subprojects/core/src/test/groovy/org/gradle/execution/taskgraph/TaskInfoFactoryTest.groovy @@ -19,8 +19,8 @@ package org.gradle.execution.taskgraph import org.gradle.api.internal.TaskInternal import spock.lang.Specification -class TaskDependencyGraphTest extends Specification { - def graph = new TaskDependencyGraph() +class TaskInfoFactoryTest extends Specification { + def graph = new TaskInfoFactory() def a = task('a') def b = task('b') def c = task('c') @@ -36,7 +36,7 @@ class TaskDependencyGraphTest extends Specification { void 'can create a node for a task'() { when: - def node = graph.addNode(a) + def node = graph.createNode(a) then: !node.inKnownState @@ -49,17 +49,16 @@ class TaskDependencyGraphTest extends Specification { void 'caches node for a given task'() { when: - def node = graph.addNode(a) + def node = graph.createNode(a) then: - graph.getNode(a).is(node) - graph.addNode(a).is(node) + graph.createNode(a).is(node) } void 'can add multiple nodes'() { when: - graph.addNode(a) - graph.addNode(b) + graph.createNode(a) + graph.createNode(b) then: graph.tasks == [a, b] as Set @@ -67,9 +66,9 @@ class TaskDependencyGraphTest extends Specification { void 'clear'() { when: - graph.addNode(a) - graph.addNode(b) - graph.addNode(c) + graph.createNode(a) + graph.createNode(b) + graph.createNode(c) graph.clear() then: