<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="Microsoft.DotNet.Cli.tasks" /> <Import Project="prepare/CheckPrereqs.targets" /> <Import Project="Microsoft.DotNet.Cli.BundledSdks.props" /> <Import Project="Microsoft.DotNet.Cli.BundledTemplates.props" /> <Import Project="Microsoft.DotNet.Cli.DependencyVersions.props" /> <Target Name="Prepare" DependsOnTargets="Init;DownloadHostAndSharedFxArtifacts;RestoreSrcPackages;RestoreToolsPackages" /> <Target Name="Init" DependsOnTargets="InitializeCommonProps; BuildDotnetCliBuildFramework; CheckPrereqs;"> </Target> <Target Name="InitializeCommonProps" DependsOnTargets="BuildDotnetCliBuildFramework" > <!-- Current Runtime Information --> <GetCurrentRuntimeInformation OverrideRid="$(OverrideRid)"> <Output TaskParameter="Rid" PropertyName="Rid" /> <Output TaskParameter="Architecture" PropertyName="Architecture" /> <Output TaskParameter="OSName" PropertyName="OSName" /> </GetCurrentRuntimeInformation> <!-- Common Properties --> <PropertyGroup> <IsDesktopAvailable>False</IsDesktopAvailable> <IsDesktopAvailable Condition=" '$(OSName)' == 'win' ">True</IsDesktopAvailable> <DotNetPath>$(Stage0Directory)</DotNetPath> <BaseOutputDirectory>$(RepoRoot)/artifacts/$(Rid)</BaseOutputDirectory> <ToolsOutputDirectory>$(BaseOutputDirectory)/tools</ToolsOutputDirectory> <Stage1Directory>$(BaseOutputDirectory)/stage1</Stage1Directory> <Stage1SymbolsDirectory>$(BaseOutputDirectory)/stage1symbols</Stage1SymbolsDirectory> <DotnetStage1>$(Stage1Directory)/dotnet$(ExeExtension)</DotnetStage1> <Stage2Directory>$(BaseOutputDirectory)/stage2</Stage2Directory> <Stage2SymbolsDirectory>$(BaseOutputDirectory)/stage2symbols</Stage2SymbolsDirectory> <DotnetStage2>$(Stage2Directory)/dotnet$(ExeExtension)</DotnetStage2> <OutputDirectory>$(Stage2Directory)/</OutputDirectory> <Stage2CompilationDirectory>$(BaseOutputDirectory)/stage2compilation</Stage2CompilationDirectory> <IntermediateDirectory>$(BaseOutputDirectory)/intermediate</IntermediateDirectory> <PackagesDirectory>$(BaseOutputDirectory)/packages</PackagesDirectory> <SharedFrameworkPublishDirectory>$(IntermediateDirectory)/sharedFrameworkPublish</SharedFrameworkPublishDirectory> <CoreCLRRid>$(Rid)</CoreCLRRid> <CoreCLRRid Condition=" '$(OSName)' == 'win' ">win7-$(Architecture)</CoreCLRRid> <CoreCLRRid Condition=" '$(OSName)' == 'osx' ">osx.10.10-x64</CoreCLRRid> <CoreCLRRid Condition=" '$(OSName)' == 'centos' OR '$(OSName)' == 'rhel' ">rhel.7-x64</CoreCLRRid> <CoreSetupBlobAccessTokenParam Condition=" '$(CoreSetupBlobAccessToken)' != '' ">?$(CoreSetupBlobAccessToken)</CoreSetupBlobAccessTokenParam> </PropertyGroup> <GetCommitHash RepoRoot="$(RepoRoot)"> <Output TaskParameter="CommitHash" PropertyName="CommitHash" /> </GetCommitHash> <GenerateBuildVersionInfo RepoRoot="$(RepoRoot)"> <Output TaskParameter="VersionMajor" PropertyName="VersionMajor" /> <Output TaskParameter="VersionMinor" PropertyName="VersionMinor" /> <Output TaskParameter="VersionPatch" PropertyName="VersionPatch" /> <Output TaskParameter="CommitCount" PropertyName="DefaultCommitCount" /> <Output TaskParameter="ReleaseSuffix" PropertyName="DefaultReleaseSuffix" /> <Output TaskParameter="MsiVersion" PropertyName="MsiVersion" /> <Output TaskParameter="VersionBadgeMoniker" PropertyName="VersionBadgeMoniker" /> <Output TaskParameter="Channel" PropertyName="Channel" /> <Output TaskParameter="BranchName" PropertyName="BranchName" Condition=" '$(BranchName)' == '' " /> </GenerateBuildVersionInfo> <PropertyGroup> <CommitCount Condition=" '$(CommitCount)' == '' ">$(DefaultCommitCount)</CommitCount> <ReleaseSuffix Condition=" '$(ReleaseSuffix)' == '' ">$(DefaultReleaseSuffix)</ReleaseSuffix> <SimpleVersion Condition=" '$(DropSuffix)' == '' ">$(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount)</SimpleVersion> <SimpleVersion Condition=" '$(SimpleVersion)' == '' ">$(VersionMajor).$(VersionMinor).$(VersionPatch)</SimpleVersion> <VersionSuffix Condition=" '$(DropSuffix)' == '' ">$(ReleaseSuffix)-$(CommitCount)</VersionSuffix> <FullNugetVersion>$(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)-$(CommitCount)</FullNugetVersion> <NugetVersion Condition=" '$(DropSuffix)' == '' ">$(FullNugetVersion)</NugetVersion> <NugetVersion Condition=" '$(NugetVersion)' == '' ">$(VersionMajor).$(VersionMinor).$(VersionPatch)</NugetVersion> <SdkVersion>$(NugetVersion)</SdkVersion> <SdkNugetVersion>$(NugetVersion)</SdkNugetVersion> <VersionBadge>$(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg</VersionBadge> <ArchiveExtension Condition=" '$(OSName)' == 'win' ">.zip</ArchiveExtension> <ArchiveExtension Condition=" '$(OSName)' != 'win' ">.tar.gz</ArchiveExtension> <InstallerExtension Condition=" '$(OSName)' == 'win' ">.msi</InstallerExtension> <InstallerExtension Condition=" '$(OSName)' == 'osx' ">.pkg</InstallerExtension> <InstallerExtension Condition=" '$(OSName)' == 'ubuntu' ">.deb</InstallerExtension> <BundleExtension Condition=" '$(OSName)' == 'win' ">.exe</BundleExtension> <BundleExtension Condition=" '$(OSName)' == 'osx' ">$(InstallerExtension)</BundleExtension> <BundleExtension Condition=" '$(OSName)' == 'ubuntu' ">$(InstallerExtension)</BundleExtension> <ProductMonikerRid Condition=" '$(Rid)' == 'ubuntu.16.04-x64' Or '$(Rid)' == 'ubuntu.16.10-x64' Or '$(Rid)' == 'fedora.23-x64' Or '$(Rid)' == 'fedora.24-x64' Or '$(Rid)' == 'opensuse.13.2-x64' Or '$(Rid)' == 'opensuse.42.1-x64' ">$(Rid)</ProductMonikerRid> <ProductMonikerRid Condition=" '$(ProductMonikerRid)' == '' ">$(OSName)-$(Architecture)</ProductMonikerRid> <DynamicLibPrefix>lib</DynamicLibPrefix> <DynamicLibPrefix Condition=" '$(OSName)' == 'win' "></DynamicLibPrefix> <DynamicLibExtension>.so</DynamicLibExtension> <DynamicLibExtension Condition=" '$(OSName)' == 'win' ">.dll</DynamicLibExtension> <DynamicLibExtension Condition=" '$(OSName)' == 'osx' ">.dylib</DynamicLibExtension> <ArtifactNameSdk>dotnet-sdk</ArtifactNameSdk> <ArtifactNameSdkDebug>dotnet-sdk-debug</ArtifactNameSdkDebug> <ArtifactNameCombinedHostHostFxrFrameworkSdk>dotnet-dev</ArtifactNameCombinedHostHostFxrFrameworkSdk> <ArtifactNameCombinedFrameworkSdk>dotnet-sharedframework-sdk</ArtifactNameCombinedFrameworkSdk> <ArtifactNameWithVersionSdk>$(ArtifactNameSdk)-$(ProductMonikerRid).$(SdkVersion)</ArtifactNameWithVersionSdk> <ArtifactNameWithVersionSdkDebug>$(ArtifactNameSdkDebug)-$(ProductMonikerRid).$(SdkVersion)</ArtifactNameWithVersionSdkDebug> <ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(ProductMonikerRid).$(SdkVersion)</ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk> <ArtifactNameWithVersionCombinedFrameworkSdk>$(ArtifactNameCombinedFrameworkSdk)-$(ProductMonikerRid).$(SdkVersion)</ArtifactNameWithVersionCombinedFrameworkSdk> <!-- Downloaded Installers + Archives --> <DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host-$(ProductMonikerRid).$(SharedHostVersion)$(InstallerExtension)</DownloadedSharedHostInstallerFileName> <DownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile> <DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr-$(ProductMonikerRid).$(HostFxrVersion)$(InstallerExtension)</DownloadedHostFxrInstallerFileName> <DownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile> <DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-sharedframework-$(ProductMonikerRid).$(SharedFrameworkVersion)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName> <DownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile> <CombinedFrameworkHostCompressedFileName>dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName> </PropertyGroup> <PropertyGroup> <HasAdditionalSharedFramework Condition="'$(Rid)' != 'ubuntu.16.10-x64' AND '$(Rid)' != 'fedora.24-x64' AND '$(Rid)' != 'opensuse.42.1-x64'">true</HasAdditionalSharedFramework> <IncludeAdditionalSharedFrameworks Condition=" '$(IncludeAdditionalSharedFrameworks)' == '' AND '$(HasAdditionalSharedFramework)' == 'true' ">true</IncludeAdditionalSharedFrameworks> <IncludeAdditionalSharedFrameworks Condition=" '$(IncludeAdditionalSharedFrameworks)' == '' ">false</IncludeAdditionalSharedFrameworks> </PropertyGroup> <!-- Additional Shared Framework to be installed --> <PropertyGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' == 'true' "> <AdditionalCoreSetupChannel>preview</AdditionalCoreSetupChannel> <AdditionalSharedFrameworkVersion>1.0.5</AdditionalSharedFrameworkVersion> <AdditionalSharedHostVersion>1.0.1</AdditionalSharedHostVersion> <AdditionalHostFxrContainerVersion>1.0.1</AdditionalHostFxrContainerVersion> <AdditionalHostFxrVersion Condition=" '$(OSName)' != 'win' ">1.0.1</AdditionalHostFxrVersion> <AdditionalHostFxrVersion Condition=" '$(OSName)' == 'win' ">1.0.5</AdditionalHostFxrVersion> <!-- Additional Downloaded Installers + Archives --> <AdditionalDownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host-$(ProductMonikerRid).$(AdditionalSharedHostVersion)$(InstallerExtension)</AdditionalDownloadedSharedHostInstallerFileName> <AdditionalDownloadedSharedHostInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(AdditionalDownloadedSharedHostInstallerFileName)</AdditionalDownloadedSharedHostInstallerFile> <AdditionalDownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr-$(ProductMonikerRid).$(AdditionalHostFxrVersion)$(InstallerExtension)</AdditionalDownloadedHostFxrInstallerFileName> <AdditionalDownloadedHostFxrInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(AdditionalDownloadedHostFxrInstallerFileName)</AdditionalDownloadedHostFxrInstallerFile> <AdditionalDownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-sharedframework-$(ProductMonikerRid).$(AdditionalSharedFrameworkVersion)$(InstallerExtension)</AdditionalDownloadedSharedFrameworkInstallerFileName> <AdditionalDownloadedSharedFrameworkInstallerFile Condition=" '$(InstallerExtension)' != '' ">$(PackagesDirectory)/$(AdditionalDownloadedSharedFrameworkInstallerFileName)</AdditionalDownloadedSharedFrameworkInstallerFile> <AdditionalCombinedFrameworkHostCompressedFileName>dotnet-$(ProductMonikerRid).$(AdditionalSharedFrameworkVersion)$(ArchiveExtension)</AdditionalCombinedFrameworkHostCompressedFileName> </PropertyGroup> <!-- SetTelemetryProfile --> <SetEnvVar Name="DOTNET_CLI_TELEMETRY_PROFILE" Value="$(DOTNET_CLI_TELEMETRY_PROFILE);https://github.com/dotnet/cli;$(CommitHash)" /> </Target> <Target Name="SetupDownloadHostAndSharedFxInputsOutputs" DependsOnTargets="Init"> <PropertyGroup> <CoreSetupBlobRootUrl Condition="'$(CoreSetupBlobRootUrl)' == ''">https://dotnetcli.azureedge.net/dotnet/</CoreSetupBlobRootUrl> <CoreSetupBlobRootUrlWithChannel>$(CoreSetupBlobRootUrl)$(CoreSetupChannel)</CoreSetupBlobRootUrlWithChannel> <SharedFrameworkArchiveBlobRootUrl>$(CoreSetupBlobRootUrlWithChannel)/Binaries/$(SharedFrameworkVersion)</SharedFrameworkArchiveBlobRootUrl> <CoreSetupInstallerBlobRootUrl>$(CoreSetupBlobRootUrlWithChannel)/Installers</CoreSetupInstallerBlobRootUrl> <CoreSetupDownloadDirectory>$(IntermediateDirectory)/coreSetupDownload/$(SharedFrameworkVersion)</CoreSetupDownloadDirectory> <CombinedSharedHostAndFrameworkArchive>$(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive</CombinedSharedHostAndFrameworkArchive> </PropertyGroup> <ItemGroup> <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> <Url>$(SharedFrameworkArchiveBlobRootUrl)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(CombinedSharedHostAndFrameworkArchive)</DownloadFileName> <ExtractDestination>$(SharedFrameworkPublishDirectory)</ExtractDestination> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="!Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(CoreSetupInstallerBlobRootUrl)/$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(DownloadedSharedFrameworkInstallerFile)</DownloadFileName> <ExtractDestination></ExtractDestination> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="DownloadedSharedHostInstallerFile" Condition="!Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(CoreSetupInstallerBlobRootUrl)/$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(DownloadedSharedHostInstallerFile)</DownloadFileName> <ExtractDestintation></ExtractDestintation> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="DownloadedHostFxrInstallerFile" Condition="!Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(CoreSetupInstallerBlobRootUrl)/$(HostFxrContainerVersion)/$(DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(DownloadedHostFxrInstallerFile)</DownloadFileName> <ExtractDestintation></ExtractDestintation> </_DownloadAndExtractItem> </ItemGroup> <!-- Additional Shared Framework to be installed --> <PropertyGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' "> <AdditionalCoreSetupBlobRootUrlWithChannel>$(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel)</AdditionalCoreSetupBlobRootUrlWithChannel> <AdditionalSharedFrameworkArchiveBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion)</AdditionalSharedFrameworkArchiveBlobRootUrl> <AdditionalCoreSetupInstallerBlobRootUrl>$(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers</AdditionalCoreSetupInstallerBlobRootUrl> <AdditionalCoreSetupDownloadDirectory>$(IntermediateDirectory)/coreSetupDownload/$(AdditionalSharedFrameworkVersion)</AdditionalCoreSetupDownloadDirectory> <AdditionalCombinedSharedHostAndFrameworkArchive>$(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive</AdditionalCombinedSharedHostAndFrameworkArchive> </PropertyGroup> <ItemGroup Condition=" '$(IncludeAdditionalSharedFrameworks)' != 'false' "> <_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')"> <Url>$(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(AdditionalCombinedSharedHostAndFrameworkArchive)</DownloadFileName> <ExtractDestination>$(SharedFrameworkPublishDirectory)</ExtractDestination> <!-- don't overwrite the destination because both shared fx's need to be combined --> <OverwriteDestination>False</OverwriteDestination> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="AdditionalDownloadedSharedFrameworkInstallerFile" Condition="!Exists('$(AdditionalDownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(AdditionalCoreSetupInstallerBlobRootUrl)/$(AdditionalSharedFrameworkVersion)/$(AdditionalDownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(AdditionalDownloadedSharedFrameworkInstallerFile)</DownloadFileName> <ExtractDestination></ExtractDestination> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="AdditionalDownloadedSharedHostInstallerFile" Condition="!Exists('$(AdditionalDownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(AdditionalCoreSetupInstallerBlobRootUrl)/$(AdditionalSharedHostVersion)/$(AdditionalDownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(AdditionalDownloadedSharedHostInstallerFile)</DownloadFileName> <ExtractDestintation></ExtractDestintation> </_DownloadAndExtractItem> <_DownloadAndExtractItem Include="AdditionalDownloadedHostFxrInstallerFile" Condition="!Exists('$(AdditionalDownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''"> <Url>$(AdditionalCoreSetupInstallerBlobRootUrl)/$(AdditionalHostFxrContainerVersion)/$(AdditionalDownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url> <DownloadFileName>$(AdditionalDownloadedHostFxrInstallerFile)</DownloadFileName> <ExtractDestintation></ExtractDestintation> </_DownloadAndExtractItem> </ItemGroup> </Target> <Target Name="DownloadHostAndSharedFxArtifacts" DependsOnTargets="SetupDownloadHostAndSharedFxInputsOutputs"> <PropertyGroup> <OverwriteExtractionDestination>%(_DownloadAndExtractItem.OverwriteDestination)</OverwriteExtractionDestination> <OverwriteExtractionDestination Condition="'$(OverwriteExtractionDestination)' == ''">True</OverwriteExtractionDestination> </PropertyGroup> <DownloadFile Condition=" '@(_DownloadAndExtractItem)' != '' " Uri="%(_DownloadAndExtractItem.Url)" DestinationPath="%(_DownloadAndExtractItem.DownloadFileName)" /> <ZipFileExtractToDirectory Condition=" '%(_DownloadAndExtractItem.ExtractDestination)' != '' AND '$(OSName)' == 'win' " SourceArchive="%(_DownloadAndExtractItem.DownloadFileName)" DestinationDirectory="%(_DownloadAndExtractItem.ExtractDestination)" OverwriteDestination="$(OverwriteExtractionDestination)" /> <TarGzFileExtractToDirectory Condition=" '%(_DownloadAndExtractItem.ExtractDestination)' != '' AND '$(OSName)' != 'win' " SourceArchive="%(_DownloadAndExtractItem.DownloadFileName)" DestinationDirectory="%(_DownloadAndExtractItem.ExtractDestination)" OverwriteDestination="$(OverwriteExtractionDestination)" /> </Target> <Target Name="RestoreSrcPackages" DependsOnTargets="SetupRestoreSrcPackagesInputsOutputs;Init" Inputs="@(RestoreSrcPackagesInput)" Outputs="@(RestoreSrcPackagesInput->'%(RelativeDir)/obj/project.assets.json');@(RestoreSrcPackagesInput->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.props');@(RestoreSrcPackagesInput->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.targets')"> <CallTarget Targets="CleanSrcLockFiles" /> <DotNetRestore ToolPath="$(DotNetPath)" ProjectPath=""%(RestoreSrcPackagesInput.FullPath)"" ConfigFile="$(RepoRoot)\NuGet.Config" /> </Target> <Target Name="CleanSrcLockFiles" > <ItemGroup> <SrcLockFiles Include="$(RepoRoot)/src/**/project.assets.json;$(RepoRoot)/src/**/*.csproj.nuget.g.props;$(RepoRoot)/src/**/*.csproj.nuget.g.targets" /> </ItemGroup> <Delete Files="@(SrcLockFiles)" /> </Target> <Target Name="SetupRestoreSrcPackagesInputsOutputs"> <ItemGroup> <RestoreSrcPackagesInput Include="$(RepoRoot)/src/**/*.csproj" Exclude="$(RepoRoot)/src/**/%24projectName%24.csproj"/> </ItemGroup> </Target> <Target Name="RestoreToolsPackages" DependsOnTargets="SetupRestoreToolsPackagesInputsOutputs;Init" Inputs="@(RestoreToolsPackagesInput)" Outputs="@(RestoreToolsPackagesInput->'%(RelativeDir)/obj/project.assets.json');@(RestoreToolsPackagesInput->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.props');@(RestoreToolsPackagesInput->'%(RelativeDir)/obj/%(Filename).csproj.nuget.g.targets')"> <CallTarget Targets="CleanToolsLockFiles" /> <DotNetRestore ToolPath="$(DotNetPath)" ProjectPath=""%(RestoreToolsPackagesInput.FullPath)"" ConfigFile="$(RepoRoot)\NuGet.Config" /> </Target> <Target Name="CleanToolsLockFiles" > <ItemGroup> <ToolsLockFiles Include="$(RepoRoot)/tools/**/project.assets.json;$(RepoRoot)/tools/**/*.csproj.nuget.g.props;$(RepoRoot)/tools/**/*.csproj.nuget.g.targets" /> </ItemGroup> <Delete Files="@(ToolsLockFiles)" /> </Target> <Target Name="SetupRestoreToolsPackagesInputsOutputs"> <ItemGroup> <RestoreToolsPackagesInput Include="$(RepoRoot)/tools/**/*.csproj" /> </ItemGroup> </Target> </Project>