|
10 | 10 | </RebuildDependsOn> |
11 | 11 | </PropertyGroup> |
12 | 12 |
|
13 | | - |
14 | 13 | <Import Project="$(CustomBeforeTraversalTargets)" Condition=" '$(CustomBeforeTraversalTargets)' != '' And Exists('$(CustomBeforeTraversalTargets)') " /> |
15 | 14 |
|
16 | 15 | <Import Project="$(CBTLocalBuildExtensionsPath)\Before.$(MSBuildThisFile)" Condition=" '$(CBTLocalBuildExtensionsPath)' != '' And Exists('$(CBTLocalBuildExtensionsPath)\Before.$(MSBuildThisFile)') " /> |
|
31 | 30 | <ReBuildDependsOn>$(_tmpReBuildDependsOn)</ReBuildDependsOn> |
32 | 31 | <BuildDependsOn>$(_tmpBuildDependsOn)</BuildDependsOn> |
33 | 32 | <LanguageTargets>$(MSBuildThisFileDirectory)\Empty.props</LanguageTargets> |
| 33 | + <!-- |
| 34 | + NuGet should always restore Traversal projects with "PackageReference" style restore. Setting this property will cause the right thing to happen even if there aren't any PackageReference items in the project. |
| 35 | + --> |
| 36 | + <RestoreProjectStyle>PackageReference</RestoreProjectStyle> |
34 | 37 | </PropertyGroup> |
| 38 | + |
| 39 | + <ItemDefinitionGroup Condition="'$(TraversalDoNotReferenceOutputAssemblies)' != 'false'"> |
| 40 | + <ProjectReference> |
| 41 | + <!-- |
| 42 | + Setting ReferenceOutputAssembly skips adding the outputs of the referenced project to an item |
| 43 | + --> |
| 44 | + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> |
| 45 | + <!-- |
| 46 | + Setting SkipGetTargetFrameworkProperties skips target framework cross-project validation in NuGet |
| 47 | + --> |
| 48 | + <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties> |
| 49 | + </ProjectReference> |
| 50 | + </ItemDefinitionGroup> |
| 51 | + |
| 52 | + <ItemGroup> |
| 53 | + <ProjectReferenceTargets Remove="@(ProjectReferenceTargets)" /> |
| 54 | + |
| 55 | + <ProjectReferenceTargets Include="Build" Targets=".default" /> |
| 56 | + <ProjectReferenceTargets Include="Clean" Targets="Clean" /> |
| 57 | + <ProjectReferenceTargets Include="Test" Targets="Test" /> |
| 58 | + <ProjectReferenceTargets Include="VSTest" Targets="VSTest" /> |
| 59 | + <ProjectReferenceTargets Include="Publish" Targets="Publish" /> |
| 60 | + <ProjectReferenceTargets Include="Pack" Targets="Pack" /> |
| 61 | + </ItemGroup> |
| 62 | + |
| 63 | + <ItemGroup Condition=" '$(TraversalTranslateProjectFileItems)' != 'false' "> |
| 64 | + <!-- |
| 65 | + Translate the ProjectFile items by moving them to ProjectReference items instead. |
| 66 | + --> |
| 67 | + <ProjectReference Include="@(ProjectFile)" /> |
| 68 | + |
| 69 | + <ProjectFile Remove="@(ProjectFile)" /> |
| 70 | + </ItemGroup> |
35 | 71 |
|
36 | 72 | <Target Name="Build" DependsOnTargets="$(BuildDependsOn)"> |
37 | 73 | <MSBuild Projects="@(PreTraversalProjectFile)" Targets="Build" Condition=" '@(PreTraversalProjectFile)' != '' " /> |
38 | 74 |
|
39 | | - <MSBuild Projects="@(ProjectFile)" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalBuildGlobalProperties)" /> |
| 75 | + <MSBuild Projects="@(ProjectReference)" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalBuildGlobalProperties)" /> |
40 | 76 |
|
41 | 77 | <MSBuild Projects="@(PostTraversalProjectFile)" Targets="Build" Condition=" '@(PostTraversalProjectFile)' != '' " /> |
42 | 78 | </Target> |
43 | 79 |
|
44 | 80 | <Target Name="Clean" DependsOnTargets="$(CleanDependsOn)"> |
45 | 81 | <MSBuild Projects="@(PreTraversalProjectFile)" Targets="Clean" Condition=" '@(PreTraversalProjectFile)' != '' " /> |
46 | 82 |
|
47 | | - <MSBuild Projects="@(ProjectFile)" Targets="Clean" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalCleanGlobalProperties)" /> |
| 83 | + <MSBuild Projects="@(ProjectReference)" Targets="Clean" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalCleanGlobalProperties)" /> |
48 | 84 |
|
49 | 85 | <MSBuild Projects="@(PostTraversalProjectFile)" Targets="Clean" Condition="'@(PostTraversalProjectFile)'!=''" /> |
50 | 86 | </Target> |
|
54 | 90 | <Target Name="Restore" DependsOnTargets="$(RestoreDependsOn)"> |
55 | 91 | <MSBuild Projects="@(PreTraversalProjectFile)" Targets="Restore" Condition=" '@(PreTraversalProjectFile)' != '' " /> |
56 | 92 |
|
57 | | - <MSBuild Projects="@(ProjectFile)" Targets="Restore" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);IsRestoreOnly=true;$(TraversalGlobalProperties);$(TraversalRestoreGlobalProperties)" /> |
| 93 | + <MSBuild Projects="@(ProjectReference)" Targets="Restore" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);IsRestoreOnly=true;$(TraversalGlobalProperties);$(TraversalRestoreGlobalProperties)" /> |
58 | 94 |
|
59 | 95 | <MSBuild Projects="@(PostTraversalProjectFile)" Targets="Restore" Condition="'@(PostTraversalProjectFile)'!=''" /> |
60 | 96 | </Target> |
61 | 97 |
|
62 | 98 | <Target Name="Test" DependsOnTargets="$(TestDependsOn)"> |
63 | 99 | <MSBuild Projects="@(PreTraversalProjectFile)" Targets="Test" Condition=" '@(PreTraversalProjectFile)' != '' " /> |
64 | 100 |
|
65 | | - <MSBuild Projects="@(ProjectFile)" Targets="Test" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalTestGlobalProperties)" /> |
| 101 | + <MSBuild Projects="@(ProjectReference)" Targets="Test" BuildInParallel="$(BuildInParallel)" SkipNonexistentProjects="$(SkipNonexistentProjects)" Properties="CBTModulesRestored=$(CBTModulesRestored);$(TraversalGlobalProperties);$(TraversalTestGlobalProperties)" /> |
66 | 102 |
|
67 | 103 | <MSBuild Projects="@(PostTraversalProjectFile)" Targets="Test" Condition="'@(PostTraversalProjectFile)'!=''" /> |
68 | 104 | </Target> |
|
0 commit comments