-
Notifications
You must be signed in to change notification settings - Fork 130
/
cli.proj
117 lines (97 loc) · 6.26 KB
/
cli.proj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
<OverrideTargetRid Condition="'$(TargetOS)' == 'OSX'">osx-x64</OverrideTargetRid>
<OSNameOverride>$(TargetRid.Substring(0, $(TargetRid.IndexOf("-"))))</OSNameOverride>
<RuntimeArg>--runtime-id $(OverrideTargetRid)</RuntimeArg>
<RuntimeArg Condition="'$(TargetOS)' == 'Linux'">--runtime-id $(TargetRid)</RuntimeArg>
<BuildCommandArgs>--restore --build --pack</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) --configuration $(Configuration)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) $(RuntimeArg)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<!--
Setting NETCoreAppMaximumVersion to a high version so that the sdk doesn't complain if we're restoring/publishing for a higher version than the sdk.
See https://github.com/dotnet/sdk/issues/1512#issuecomment-377082883
-->
<BuildCommandArgs>$(BuildCommandArgs) /p:NETCoreAppMaximumVersion=99.9</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:IncludeMSBuildSdkResolver=false</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:DefaultTargetLatestAspNetCoreRuntimePatch=true</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:PB_PackageVersionPropsUrl=file:%2F%2F$(PackageVersionPropsPath)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:OSName=$(OSNameOverride)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) -bl</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) -ci</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) -v $(LogVerbosity)</BuildCommandArgs>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<BuildCommand>$(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<PackagesOutput>$(ProjectDirectory)artifacts/packages/$(Configuration)/NonShipping/</PackagesOutput>
<RepoApiImplemented>false</RepoApiImplemented>
<SourceOverrideRepoApiImplemented>true</SourceOverrideRepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)/NuGet.config</NuGetConfigFile>
<EnvironmentRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentRestoreSources>
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://api.nuget.org/v3/index.json</EnvironmentRestoreSources>
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://dotnetfeed.blob.core.windows.net/dotnet-core/index.json</EnvironmentRestoreSources>
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://dotnetfeed.blob.core.windows.net/dotnet-tools-internal/index.json</EnvironmentRestoreSources>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<ItemGroup>
<EnvironmentVariables Include="RestoreSources=$(EnvironmentRestoreSources)" />
</ItemGroup>
<ItemGroup>
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAllPackageVersion" Version="$(MicrosoftAspNetCoreAllPackageVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppPackageVersion" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETSdkRazorPackageVersion" Version="$(MicrosoftNETSdkRazorPackageVersion)" />
</ItemGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="application-insights" />
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="core-setup" />
<RepositoryReference Include="corefx" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="newtonsoft-json" />
<RepositoryReference Include="newtonsoft-json901" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="sdk" />
<RepositoryReference Include="standard" />
<RepositoryReference Include="templating" />
<RepositoryReference Include="websdk" />
<RepositoryReference Include="xliff-tasks" />
</ItemGroup>
<ItemGroup>
<EnvironmentVariables Include="ReleaseSuffix=$(CliInternalReleaseTag)" />
<EnvironmentVariables Include="BuildNumber=$(CliInternalBuildVersion)" />
<EnvironmentVariables Include="RestoreSources=$(EnvironmentRestoreSources)" />
</ItemGroup>
<!--
Forces CLI projects to use the source-built Microsoft.NETCore.App package. This lets CLI build
netcoreapp3.0 projects even though 3.0.0 doesn't exist yet: we can use e.g. 3.0.0-preview.
The CLI repo normally downloads a 3.0 toolset, which ships with a 3.0 NETCore.App and a built-in
workaround to use that to build netcoreapp3.0. Source-build forces a 2.1 toolset (N-1) which
doesn't know about our source-built 3.0 NETCore.App, so we need to work around this ourselves.
RuntimeFrameworkVersion sets the version of NETCore.App used by *any* target framework. When
using this workaround we might not be able to build any netcoreapp2.1 etc. projects within the
same command.
-->
<Target Name="UseCoreSetupNETCoreAppPackage"
BeforeTargets="Build">
<ItemGroup>
<SourceBuiltNETCoreAppFile
Include="$(SourceBuiltPackagesPath)Microsoft.NETCore.App.*.nupkg"
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
</ItemGroup>
<ReadNuGetPackageInfos PackagePaths="@(SourceBuiltNETCoreAppFile)">
<Output TaskParameter="PackageInfoItems" ItemName="_SourceBuiltNETCoreAppFilePackageInfo" />
</ReadNuGetPackageInfos>
<ItemGroup>
<EnvironmentVariables Include="RuntimeFrameworkVersion=%(_SourceBuiltNETCoreAppFilePackageInfo.PackageVersion)" />
</ItemGroup>
</Target>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>