|
87 | 87 | <BuildActions>$(BuildActions) $(FlagParameterPrefix)publish</BuildActions>
|
88 | 88 | <BuildActions Condition="'$(Sign)' == 'true'">$(BuildActions) $(FlagParameterPrefix)sign</BuildActions>
|
89 | 89 |
|
| 90 | + <TestActions>$(FlagParameterPrefix)test</TestActions> |
| 91 | + </PropertyGroup> |
| 92 | + |
| 93 | + <!-- Common args used for building and testing. --> |
| 94 | + <PropertyGroup> |
90 | 95 | <!-- TODO: Remove the DotNetBuildSourceOnly condition when the default build behavior for source-only builds changes to dev.
|
91 | 96 | https://github.com/dotnet/source-build/issues/4855 -->
|
92 |
| - <BuildArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</BuildArgs> |
93 |
| - <BuildArgs>$(BuildArgs) $(FlagParameterPrefix)configuration $(Configuration)</BuildArgs> |
94 |
| - <BuildArgs>$(BuildArgs) -bl</BuildArgs> |
95 |
| - <BuildArgs>$(BuildArgs) /p:DotNetBuildRepo=true</BuildArgs> |
96 |
| - |
97 |
| - <!-- Indicate that the build is being run from the orchestrator --> |
98 |
| - <BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs> |
| 97 | + <CommonArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</CommonArgs> |
| 98 | + <CommonArgs>$(CommonArgs) $(FlagParameterPrefix)configuration $(Configuration)</CommonArgs> |
99 | 99 |
|
100 | 100 | <!-- Pass down configuration properties -->
|
101 |
| - <BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs> |
| 101 | + <CommonArgs>$(CommonArgs) /p:TargetRid=$(TargetRid)</CommonArgs> |
102 | 102 |
|
103 | 103 | <!-- Pass through DotNetBuildPass for join point vertical support. -->
|
104 |
| - <BuildArgs Condition="'$(DotNetBuildPass)' != '' and '$(DotNetBuildPass)' != '1'">$(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass)</BuildArgs> |
| 104 | + <CommonArgs Condition="'$(DotNetBuildPass)' != '' and '$(DotNetBuildPass)' != '1'">$(CommonArgs) /p:DotNetBuildPass=$(DotNetBuildPass)</CommonArgs> |
105 | 105 |
|
106 | 106 | <!-- Only pass these properites through when necessary to reduce command line noise. -->
|
107 |
| - <BuildArgs Condition="'$(CrossBuild)' == 'true'">$(BuildArgs) /p:CrossBuild=true</BuildArgs> |
108 |
| - <BuildArgs Condition="'$(NuGetConfigFile)' != ''">$(BuildArgs) /p:RestoreConfigFile=$(NuGetConfigFile)</BuildArgs> |
109 |
| - <BuildArgs Condition="'$(DotNetBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime)</BuildArgs> |
110 |
| - <BuildArgs Condition="'$(OfficialBuildId)' != ''">$(BuildArgs) /p:OfficialBuildId=$(OfficialBuildId)</BuildArgs> |
111 |
| - <BuildArgs Condition="'$(ForceDryRunSigning)' != ''">$(BuildArgs) /p:ForceDryRunSigning=$(ForceDryRunSigning)</BuildArgs> |
| 107 | + <CommonArgs Condition="'$(CrossBuild)' == 'true'">$(CommonArgs) /p:CrossBuild=true</CommonArgs> |
| 108 | + <CommonArgs Condition="'$(DotNetBuildUseMonoRuntime)' == 'true'">$(CommonArgs) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime)</CommonArgs> |
| 109 | + <CommonArgs Condition="'$(OfficialBuildId)' != ''">$(CommonArgs) /p:OfficialBuildId=$(OfficialBuildId)</CommonArgs> |
| 110 | + <CommonArgs Condition="'$(ForceDryRunSigning)' != ''">$(CommonArgs) /p:ForceDryRunSigning=$(ForceDryRunSigning)</CommonArgs> |
112 | 111 |
|
113 | 112 | <!-- Pass locations for assets -->
|
114 |
| - <BuildArgs>$(BuildArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</BuildArgs> |
115 |
| - <BuildArgs>$(BuildArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</BuildArgs> |
| 113 | + <CommonArgs>$(CommonArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</CommonArgs> |
| 114 | + <CommonArgs>$(CommonArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</CommonArgs> |
116 | 115 |
|
117 | 116 | <!-- PGO assets by default are "Vertical" visibilty. Each repo will enable the specific artifacts it must publish externally -->
|
118 |
| - <BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) /p:DefaultArtifactVisibility=Vertical</BuildArgs> |
| 117 | + <CommonArgs Condition="'$(PgoInstrument)' == 'true'">$(CommonArgs) /p:DefaultArtifactVisibility=Vertical</CommonArgs> |
119 | 118 | <!-- ShortStack builds only publish new assets from the root repository. All other assets are duplicates. -->
|
120 |
| - <BuildArgs Condition="'$(ShortStack)' == 'true' and '$(MSBuildProjectName)' != '$(RootRepo)'">$(BuildArgs) /p:DefaultArtifactVisibility=Vertical</BuildArgs> |
| 119 | + <CommonArgs Condition="'$(ShortStack)' == 'true' and '$(MSBuildProjectName)' != '$(RootRepo)'">$(CommonArgs) /p:DefaultArtifactVisibility=Vertical</CommonArgs> |
121 | 120 | </PropertyGroup>
|
122 | 121 |
|
| 122 | + <!-- Build specific args --> |
| 123 | + <PropertyGroup> |
| 124 | + <BuildArgs>$(BuildArgs) -bl</BuildArgs> |
| 125 | + <!-- Don't flow these control properties during testing to avoid the outer/inner complexity. --> |
| 126 | + <BuildArgs>$(BuildArgs) /p:DotNetBuildRepo=true</BuildArgs> |
| 127 | + <BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs> |
| 128 | + </PropertyGroup> |
123 | 129 | <PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
124 | 130 | <BuildArgs>$(BuildArgs) /p:SourceBuiltSymbolsDir=$(IntermediateSymbolsRepoDir)</BuildArgs>
|
125 | 131 | <BuildArgs>$(BuildArgs) /p:DotNetBuildSourceOnly=true</BuildArgs>
|
126 | 132 | <BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
|
127 | 133 | <BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
|
128 | 134 | </PropertyGroup>
|
129 | 135 |
|
| 136 | + <!-- Test specific args--> |
130 | 137 | <PropertyGroup>
|
131 |
| - <TestActions>$(FlagParameterPrefix)restore</TestActions> |
132 |
| - <TestActions>$(TestActions) $(FlagParameterPrefix)test</TestActions> |
133 |
| - |
134 |
| - <!-- TODO: Remove the DotNetBuildSourceOnly condition when the default build behavior for source-only builds changes to dev. |
135 |
| - https://github.com/dotnet/source-build/issues/4855 --> |
136 |
| - <TestArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</TestArgs> |
137 |
| - <TestArgs>$(TestArgs) $(FlagParameterPrefix)configuration $(Configuration)</TestArgs> |
138 | 138 | <TestArgs>$(TestArgs) /bl:$(ArtifactsLogRepoDir)Test.binlog</TestArgs>
|
139 | 139 | </PropertyGroup>
|
140 | 140 |
|
|
147 | 147 | </PropertyGroup>
|
148 | 148 |
|
149 | 149 | <ItemGroup>
|
150 |
| - <!-- TODO: Remove once net10.0 migration is complete --> |
151 |
| - <EnvironmentVariables Include="SuppressTfmSupportBuildWarnings=True" /> |
152 |
| - |
153 | 150 | <!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
154 | 151 | <EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetRoot)" />
|
155 | 152 | <EnvironmentVariables Include="DOTNET_PATH=$(DotNetRoot)" />
|
156 | 153 | <EnvironmentVariables Include="DOTNET_HOST_PATH=$(DotNetTool)" />
|
157 | 154 |
|
158 |
| - <!-- _InitializeDotNetCli is used by websdk and templating to decide whether to init the SDK --> |
159 | 155 | <EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetRoot.TrimEnd('/\'))" />
|
160 | 156 | <EnvironmentVariables Include="_DotNetInstallDir=$(DotNetRoot)" />
|
161 | 157 | <EnvironmentVariables Include="_InitializeToolset=$(SourceBuiltSdksDir)Microsoft.DotNet.Arcade.Sdk/tools/Build.proj"
|
|
185 | 181 | <!-- Need to be passed in here so that outer and inner builds don't restore into the orchestrator package cache (CI builds)
|
186 | 182 | or the user package cache (local dev builds). -->
|
187 | 183 | <EnvironmentVariables Include="NUGET_PACKAGES=$(RepoArtifactsPackageCache)" />
|
188 |
| - <TestEnvironmentVariable Include="NUGET_PACKAGES=$(RepoArtifactsPackageCache)" /> |
189 | 184 | </ItemGroup>
|
190 | 185 |
|
191 | 186 | <ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
|
0 commit comments