Skip to content

[Static graph] Support transitive project references in static graph#5287

Closed
cdmihai wants to merge 8 commits into
dotnet:masterfrom
cdmihai:transitiveProjectReferences
Closed

[Static graph] Support transitive project references in static graph#5287
cdmihai wants to merge 8 commits into
dotnet:masterfrom
cdmihai:transitiveProjectReferences

Conversation

@cdmihai

@cdmihai cdmihai commented Apr 16, 2020

Copy link
Copy Markdown
Contributor

Transitive project references are a thing now. Added support to static graph, so that buildxl and qb can avoid adding the transitive refs.
This PR is independent of #5222. Ideally, review this one first, as QB has a stronger dependency on this PR than on #5222.

Design

  • transitive references are opt-in, per project evaluation
  • once a project opts-in, transitivity is applied for all ProjectReference items
  • a project opt-ins by setting the property AddTransitiveProjectReferencesInStaticGraph to true. The sdk does this automatically in Microsoft.Managed.After.Targets.
  • interaction with crosstargeting: transitive refs are added only to inner builds, not the outer builds. This mimics vanilla msbuild.

@cdmihai cdmihai force-pushed the transitiveProjectReferences branch from 88ee3f0 to aca2f4b Compare April 16, 2020 02:03
@cdmihai

cdmihai commented Apr 16, 2020

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@cdmihai cdmihai force-pushed the transitiveProjectReferences branch from aca2f4b to fe6e48a Compare April 16, 2020 17:20
Comment thread src/Build.UnitTests/Graph/GraphTestingUtilities.cs
Comment thread src/Tasks/Microsoft.Managed.After.targets Outdated
Comment thread src/Build.UnitTests/Graph/GraphTestingUtilities.cs Outdated
Comment thread src/Build/Graph/GraphBuilder.cs Outdated
Comment thread src/Build/Graph/GraphBuilder.cs
Comment thread src/Build/Graph/ProjectInterpretation.cs Outdated
@Forgind

Forgind commented Apr 30, 2020

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@cdmihai

cdmihai commented Apr 30, 2020

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants