|
7 | 7 | <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
8 | 8 |
|
9 | 9 | <DetectedMSBuildVersion>$(MSBuildVersion)</DetectedMSBuildVersion> |
10 | | - <DetectedMSBuildVersion Condition="'$(MSBuildVersion)' == ''">15.0.0</DetectedMSBuildVersion> |
| 10 | + <DetectedMSBuildVersion Condition="$(MSBuildVersion) == ''">15.0.0</DetectedMSBuildVersion> |
11 | 11 | <MSBuildSupportsHashing>false</MSBuildSupportsHashing> |
12 | 12 | <MSBuildSupportsHashing Condition=" '$(DetectedMSBuildVersion)' > '15.8.0' ">true</MSBuildSupportsHashing> |
13 | 13 | <!-- Mark that this target file has been loaded. --> |
|
27 | 27 | <PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' AND Exists('$(PaketRootPath)paket.bootstrapper.exe')">$(PaketRootPath)paket.bootstrapper.exe</PaketBootStrapperExePath> |
28 | 28 | <PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' ">$(PaketToolsPath)paket.bootstrapper.exe</PaketBootStrapperExePath> |
29 | 29 | <PaketBootStrapperExeDir Condition=" Exists('$(PaketBootStrapperExePath)') " >$([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\</PaketBootStrapperExeDir> |
30 | | - |
| 30 | + |
| 31 | + <!-- Paket --> |
| 32 | + |
| 33 | + <!-- windows, root => tool => proj style => bootstrapper => global --> |
| 34 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> |
| 35 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> |
| 36 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket.exe</PaketExePath> |
| 37 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(_PaketBootStrapperExeDir)paket.exe</PaketExePath> |
| 38 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' ">paket.exe</PaketExePath> |
| 39 | + |
| 40 | + <!-- no windows, try native paket as default, root => tool => proj style => mono paket => bootstrpper => global --> |
| 41 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket') ">$(PaketRootPath)paket</PaketExePath> |
| 42 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket') ">$(PaketToolsPath)paket</PaketExePath> |
| 43 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket</PaketExePath> |
| 44 | + |
| 45 | + <!-- no windows, try mono paket --> |
| 46 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> |
| 47 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> |
| 48 | + |
| 49 | + <!-- no windows, try bootstrapper --> |
| 50 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(PaketBootStrapperExeDir)paket.exe</PaketExePath> |
| 51 | + |
| 52 | + <!-- no windows, try global native paket --> |
| 53 | + <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' ">paket</PaketExePath> |
| 54 | + |
| 55 | + <!-- Paket command --> |
| 56 | + <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)"))</_PaketExeExtension> |
| 57 | + <PaketCommand Condition=" '$(PaketCommand)' == '' AND '$(_PaketExeExtension)' == '.dll' ">dotnet "$(PaketExePath)"</PaketCommand> |
| 58 | + <PaketCommand Condition=" '$(PaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</PaketCommand> |
| 59 | + <PaketCommand Condition=" '$(PaketCommand)' == '' ">"$(PaketExePath)"</PaketCommand> |
| 60 | + |
| 61 | + |
31 | 62 | <PaketBootStrapperCommand Condition=" '$(OS)' == 'Windows_NT'">"$(PaketBootStrapperExePath)"</PaketBootStrapperCommand> |
32 | 63 | <PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"</PaketBootStrapperCommand> |
33 | 64 |
|
34 | 65 | <!-- Disable automagic references for F# dotnet sdk --> |
35 | 66 | <!-- This will not do anything for other project types --> |
36 | | - <!-- see https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1002-fsharp-in-dotnet-sdk.md --> |
| 67 | + <!-- see https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1032-fsharp-in-dotnet-sdk.md --> |
37 | 68 | <DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference> |
38 | 69 | <DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference> |
39 | 70 |
|
|
43 | 74 | <PaketIntermediateOutputPath Condition=" '$(PaketIntermediateOutputPath)' == '' ">$(BaseIntermediateOutputPath.TrimEnd('\').TrimEnd('\/'))</PaketIntermediateOutputPath> |
44 | 75 | </PropertyGroup> |
45 | 76 |
|
46 | | - <!-- Check if paket is available as local dotnet cli tool --> |
47 | | - <Target Name="SetPaketCommand" > |
48 | | - |
49 | | - <!-- Call 'dotnet paket' and see if it returns without an error. Mute all the output. --> |
50 | | - <Exec Command="dotnet paket --version" IgnoreExitCode="true" StandardOutputImportance="low" StandardErrorImportance="low" > |
51 | | - <Output TaskParameter="ExitCode" PropertyName="LocalPaketToolExitCode" /> |
52 | | - </Exec> |
53 | | - |
54 | | - <!-- If local paket tool is found, use that --> |
55 | | - <PropertyGroup Condition=" '$(LocalPaketToolExitCode)' == '0' "> |
56 | | - <InternalPaketCommand>dotnet paket</InternalPaketCommand> |
57 | | - </PropertyGroup> |
58 | | - |
59 | | - <!-- If not, then we go through our normal steps of setting the Paket command. --> |
60 | | - <PropertyGroup Condition=" '$(LocalPaketToolExitCode)' != '0' "> |
61 | | - <!-- windows, root => tool => proj style => bootstrapper => global --> |
62 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> |
63 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> |
64 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket.exe</PaketExePath> |
65 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(_PaketBootStrapperExeDir)paket.exe</PaketExePath> |
66 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' == 'Windows_NT' ">paket.exe</PaketExePath> |
67 | | - |
68 | | - <!-- no windows, try native paket as default, root => tool => proj style => mono paket => bootstrpper => global --> |
69 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket') ">$(PaketRootPath)paket</PaketExePath> |
70 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket') ">$(PaketToolsPath)paket</PaketExePath> |
71 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND '$(PaketBootstrapperStyle)' == 'proj' ">$(PaketToolsPath)paket</PaketExePath> |
72 | | - |
73 | | - <!-- no windows, try mono paket --> |
74 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketRootPath)paket.exe') ">$(PaketRootPath)paket.exe</PaketExePath> |
75 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketToolsPath)paket.exe') ">$(PaketToolsPath)paket.exe</PaketExePath> |
76 | | - |
77 | | - <!-- no windows, try bootstrapper --> |
78 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' AND Exists('$(PaketBootStrapperExeDir)') ">$(PaketBootStrapperExeDir)paket.exe</PaketExePath> |
79 | | - |
80 | | - <!-- no windows, try global native paket --> |
81 | | - <PaketExePath Condition=" '$(PaketExePath)' == '' AND '$(OS)' != 'Windows_NT' ">paket</PaketExePath> |
82 | | - |
83 | | - <_PaketExeExtension>$([System.IO.Path]::GetExtension("$(PaketExePath)"))</_PaketExeExtension> |
84 | | - <InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' AND '$(_PaketExeExtension)' == '.dll' ">dotnet "$(PaketExePath)"</InternalPaketCommand> |
85 | | - <InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' AND '$(OS)' != 'Windows_NT' AND '$(_PaketExeExtension)' == '.exe' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</InternalPaketCommand> |
86 | | - <InternalPaketCommand Condition=" '$(InternalPaketCommand)' == '' ">"$(PaketExePath)"</InternalPaketCommand> |
87 | | - |
88 | | - </PropertyGroup> |
89 | | - |
90 | | - <!-- The way to get a property to be available outside the target is to use this task. --> |
91 | | - <CreateProperty Value="$(InternalPaketCommand)"> |
92 | | - <Output TaskParameter="Value" PropertyName="PaketCommand"/> |
93 | | - </CreateProperty> |
94 | | - |
95 | | - </Target> |
96 | | - |
97 | 77 | <Target Name="PaketBootstrapping" Condition="Exists('$(PaketToolsPath)paket.bootstrapper.proj')"> |
98 | 78 | <MSBuild Projects="$(PaketToolsPath)paket.bootstrapper.proj" Targets="Restore" /> |
99 | 79 | </Target> |
100 | 80 |
|
101 | 81 | <!-- Official workaround for https://docs.microsoft.com/en-us/visualstudio/msbuild/getfilehash-task?view=vs-2019 --> |
102 | 82 | <UsingTask TaskName="Microsoft.Build.Tasks.GetFileHash" AssemblyName="Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(MSBuildSupportsHashing)' == 'true' And '$(DetectedMSBuildVersion)' < '16.0.360' " /> |
103 | 83 | <UsingTask TaskName="Microsoft.Build.Tasks.VerifyFileHash" AssemblyName="Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(MSBuildSupportsHashing)' == 'true' And '$(DetectedMSBuildVersion)' < '16.0.360' " /> |
104 | | - <Target Name="PaketRestore" Condition="'$(PaketRestoreDisabled)' != 'True'" BeforeTargets="_GenerateDotnetCliToolReferenceSpecs;_GenerateProjectRestoreGraphPerFramework;_GenerateRestoreGraphWalkPerFramework;CollectPackageReferences" DependsOnTargets="SetPaketCommand;PaketBootstrapping"> |
| 84 | + <Target Name="PaketRestore" Condition="'$(PaketRestoreDisabled)' != 'True'" BeforeTargets="_GenerateDotnetCliToolReferenceSpecs;_GenerateProjectRestoreGraphPerFramework;_GenerateRestoreGraphWalkPerFramework;CollectPackageReferences" DependsOnTargets="PaketBootstrapping"> |
105 | 85 |
|
106 | 86 | <!-- Step 1 Check if lockfile is properly restored (if the hash of the lockfile and the cache-file match) --> |
107 | 87 | <PropertyGroup> |
|
223 | 203 | <PackageName>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])</PackageName> |
224 | 204 | <PackageVersion>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])</PackageVersion> |
225 | 205 | <AllPrivateAssets>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])</AllPrivateAssets> |
226 | | - <CopyLocal Condition="'%(PaketReferencesFileLinesInfo.Splits)' == '6'">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal> |
| 206 | + <CopyLocal Condition="'$(Splits)' == '6'">$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[5])</CopyLocal> |
227 | 207 | </PaketReferencesFileLinesInfo> |
228 | 208 | <PackageReference Include="%(PaketReferencesFileLinesInfo.PackageName)"> |
229 | 209 | <Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version> |
|
266 | 246 | </PropertyGroup> |
267 | 247 | </Target> |
268 | 248 |
|
269 | | - <Target Name="PaketOverrideNuspec" DependsOnTargets="SetPaketCommand" AfterTargets="GenerateNuspec" Condition="('$(IsPackable)' == '' Or '$(IsPackable)' == 'true') And Exists('$(PaketIntermediateOutputPath)/$(MSBuildProjectFile).references')" > |
| 249 | + <Target Name="PaketOverrideNuspec" AfterTargets="GenerateNuspec" Condition="('$(IsPackable)' == '' Or '$(IsPackable)' == 'true') And Exists('$(PaketIntermediateOutputPath)/$(MSBuildProjectFile).references')" > |
270 | 250 | <ItemGroup> |
271 | 251 | <_NuspecFilesNewLocation Include="$(PaketIntermediateOutputPath)\$(Configuration)\*.nuspec"/> |
272 | 252 | <MSBuildMajorVersion Include="$(DetectedMSBuildVersion.Replace(`-`, `.`).Split(`.`)[0])" /> |
|
320 | 300 | DevelopmentDependency="$(DevelopmentDependency)" |
321 | 301 | BuildOutputInPackage="@(_BuildOutputInPackage)" |
322 | 302 | TargetPathsToSymbols="@(_TargetPathsToSymbols)" |
323 | | - SymbolPackageFormat="$(SymbolPackageFormat)" |
| 303 | + SymbolPackageFormat="symbols.nupkg" |
324 | 304 | TargetFrameworks="@(_TargetFrameworks)" |
325 | 305 | AssemblyName="$(AssemblyName)" |
326 | 306 | PackageOutputPath="$(PackageOutputAbsolutePath)" |
|
367 | 347 | DevelopmentDependency="$(DevelopmentDependency)" |
368 | 348 | BuildOutputInPackage="@(_BuildOutputInPackage)" |
369 | 349 | TargetPathsToSymbols="@(_TargetPathsToSymbols)" |
370 | | - SymbolPackageFormat="$(SymbolPackageFormat)" |
| 350 | + SymbolPackageFormat="symbols.nupkg" |
371 | 351 | TargetFrameworks="@(_TargetFrameworks)" |
372 | 352 | AssemblyName="$(AssemblyName)" |
373 | 353 | PackageOutputPath="$(PackageOutputAbsolutePath)" |
|
0 commit comments