fix(core): forward args to target dependencies with the same executor as the target that is being run (#8104)

This commit is contained in:
Leosvel Pérez Espinosa 2021-12-10 15:01:06 +00:00 committed by GitHub
parent e2626adb68
commit 0ce96a47f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 14 deletions

View File

@ -749,7 +749,7 @@ describe('createTasksForProjectToRun', () => {
}
});
it('should forward overrides to tasks with the same target name', () => {
it('should forward overrides to tasks with the same target executor', () => {
projectGraph.nodes.app1.data.targets.build.dependsOn = [
{
target: 'prebuild',
@ -760,11 +760,31 @@ describe('createTasksForProjectToRun', () => {
projects: 'dependencies',
},
];
projectGraph.dependencies.app1.push({
type: DependencyType.static,
source: 'app1',
target: 'lib1',
});
projectGraph.nodes.app1.data.targets.build.executor = 'executor1';
projectGraph.nodes.lib1.data.targets.build.executor = 'executor1';
projectGraph.nodes.app1.data.targets.prebuild.executor = 'executor2';
projectGraph.nodes.lib2 = {
data: {
root: 'lib2-root',
files: [],
targets: { build: { executor: 'executor2' } },
},
name: 'lib2',
type: 'lib',
};
projectGraph.dependencies.lib2 = [];
projectGraph.dependencies.app1.push(
{
type: DependencyType.static,
source: 'app1',
target: 'lib1',
},
{
type: DependencyType.static,
source: 'app1',
target: 'lib2',
}
);
const tasks = createTasksForProjectToRun(
[projectGraph.nodes.app1],
@ -798,6 +818,16 @@ describe('createTasksForProjectToRun', () => {
target: 'build',
},
},
{
id: 'lib2:build',
overrides: {},
projectRoot: 'lib2-root',
target: {
configuration: undefined,
project: 'lib2',
target: 'build',
},
},
{
id: 'app1:build',
overrides: { myFlag: 'flag value' },

View File

@ -212,7 +212,7 @@ export function createTasksForProjectToRun(
},
defaultDependencyConfigs,
projectGraph,
params.target,
project.data.targets?.[params.target]?.executor,
tasksMap,
[],
seenSet
@ -231,7 +231,7 @@ function addTasksForProjectTarget(
}: TaskParams,
defaultDependencyConfigs: Record<string, TargetDependencyConfig[]> = {},
projectGraph: ProjectGraph,
originalTargetName: string,
originalTargetExecutor: string,
tasksMap: Map<string, Task>,
path: string[],
seenSet: Set<string>
@ -240,7 +240,10 @@ function addTasksForProjectTarget(
project,
target,
configuration,
overrides: target === originalTargetName ? overrides : {},
overrides:
project.data.targets?.[target]?.executor === originalTargetExecutor
? overrides
: {},
errorIfCannotFindConfiguration,
});
@ -262,7 +265,7 @@ function addTasksForProjectTarget(
dependencyConfig,
defaultDependencyConfigs,
projectGraph,
originalTargetName,
originalTargetExecutor,
tasksMap,
path,
seenSet
@ -326,7 +329,7 @@ function addTasksForProjectDependencyConfig(
dependencyConfig: TargetDependencyConfig,
defaultDependencyConfigs: Record<string, TargetDependencyConfig[]>,
projectGraph: ProjectGraph,
originalTargetName: string,
originalTargetExecutor: string,
tasksMap: Map<string, Task>,
path: string[],
seenSet: Set<string>
@ -368,7 +371,7 @@ function addTasksForProjectDependencyConfig(
},
defaultDependencyConfigs,
projectGraph,
originalTargetName,
originalTargetExecutor,
tasksMap,
[...path, targetIdentifier],
seenSet
@ -384,7 +387,7 @@ function addTasksForProjectDependencyConfig(
dependencyConfig,
defaultDependencyConfigs,
projectGraph,
originalTargetName,
originalTargetExecutor,
tasksMap,
path,
seenSet
@ -403,7 +406,7 @@ function addTasksForProjectDependencyConfig(
},
defaultDependencyConfigs,
projectGraph,
originalTargetName,
originalTargetExecutor,
tasksMap,
[...path, targetIdentifier],
seenSet