Switch to new Microsoft.DotNet.SharedFramework.Sdk (#909)
This commit is contained in:
Родитель
e245df05ce
Коммит
c9fc704e5f
|
@ -162,20 +162,21 @@
|
|||
<ExeSuffix Condition="'$(OSGroup)'=='Windows_NT'">.exe</ExeSuffix>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(OutputRid)' == '' and '$(HostRuntimeIdentifier)' != ''">
|
||||
<OutputRid>$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))-$(TargetArchitecture)</OutputRid>
|
||||
<PropertyGroup Condition="'$(RuntimeIdentifier)' == '' and '$(HostRuntimeIdentifier)' != ''">
|
||||
<RuntimeIdentifier>$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))-$(TargetArchitecture)</RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Portable -->
|
||||
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
|
||||
<OutputRid Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</OutputRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</OutputRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'Linux' or '$(OSGroup)' == 'Unix'">linux-$(TargetArchitecture)</OutputRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</OutputRid>
|
||||
<RuntimeIdentifier Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</RuntimeIdentifier>
|
||||
<RuntimeIdentifier Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</RuntimeIdentifier>
|
||||
<RuntimeIdentifier Condition="'$(OSGroup)' == 'Linux' or '$(OSGroup)' == 'Unix'">linux-$(TargetArchitecture)</RuntimeIdentifier>
|
||||
<RuntimeIdentifier Condition="'$(OSGroup)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(OutputRid)</TestTargetRid>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(RuntimeIdentifier)</TestTargetRid>
|
||||
<InstallerRuntimeIdentifier Condition="'$(InstallerRuntimeIdentifier)' == ''">$(RuntimeIdentifier)</InstallerRuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Produce assets into the specified blob feed. -->
|
||||
|
@ -185,7 +186,7 @@
|
|||
|
||||
<!-- Set up the default output and intermediate paths -->
|
||||
<PropertyGroup>
|
||||
<OSPlatformConfig>$(OutputRid).$(ConfigurationGroup)</OSPlatformConfig>
|
||||
<OSPlatformConfig>$(RuntimeIdentifier).$(ConfigurationGroup)</OSPlatformConfig>
|
||||
|
||||
<BaseOutputRootPath>$(BinDir)$(OSPlatformConfig)\</BaseOutputRootPath>
|
||||
<CrossGenRootPath>$(BaseOutputRootPath)crossgen\</CrossGenRootPath>
|
||||
|
@ -207,7 +208,7 @@
|
|||
<DisableCrossgen>false</DisableCrossgen>
|
||||
<!-- Disable cross-gen on FreeBSD for now. This can be revisited when we have full support. -->
|
||||
<DisableCrossgen Condition="'$(OSGroup)'=='FreeBSD'">true</DisableCrossgen>
|
||||
<OutputVersionBadge>$(AssetOutputPath)sharedfx_$(OutputRid)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
|
||||
<OutputVersionBadge>$(AssetOutputPath)sharedfx_$(RuntimeIdentifier)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set up handling of build warnings -->
|
||||
|
@ -232,74 +233,74 @@
|
|||
<TargetsSles>false</TargetsSles>
|
||||
</PropertyGroup>
|
||||
<Choose>
|
||||
<When Condition="$(OutputRid.StartsWith('win'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('win'))">
|
||||
<PropertyGroup>
|
||||
<TargetsWindows>true</TargetsWindows>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('osx'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('osx'))">
|
||||
<PropertyGroup>
|
||||
<TargetsOSX>true</TargetsOSX>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('debian'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('debian'))">
|
||||
<PropertyGroup>
|
||||
<TargetsDebian>true</TargetsDebian>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('ubuntu'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('ubuntu'))">
|
||||
<PropertyGroup>
|
||||
<TargetsUbuntu>true</TargetsUbuntu>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('linuxmint'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('linuxmint'))">
|
||||
<PropertyGroup>
|
||||
<TargetsLinuxMint>true</TargetsLinuxMint>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('rhel'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('rhel'))">
|
||||
<PropertyGroup>
|
||||
<TargetsRhel>true</TargetsRhel>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('centos'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('centos'))">
|
||||
<PropertyGroup>
|
||||
<TargetsCentos>true</TargetsCentos>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('opensuse'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('opensuse'))">
|
||||
<PropertyGroup>
|
||||
<TargetsOpensuse>true</TargetsOpensuse>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('fedora'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('fedora'))">
|
||||
<PropertyGroup>
|
||||
<TargetsFedora>true</TargetsFedora>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('oracle'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('oracle'))">
|
||||
<PropertyGroup>
|
||||
<TargetsOracle>true</TargetsOracle>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(OutputRid.StartsWith('sles'))">
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('sles'))">
|
||||
<PropertyGroup>
|
||||
<TargetsSles>true</TargetsSles>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
|
@ -326,10 +327,10 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- Use actual publishable (non-dummy) package name produced by the build system for this RID -->
|
||||
<PropertyGroup Condition="'$(OutputRid)' != ''">
|
||||
<PackageTargetRid>$(OutputRid)</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="$(OutputRid.StartsWith('rhel.7.')) and $(OutputRid.EndsWith('-x64'))">rhel.7-x64</PackageTargetRid>
|
||||
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
|
||||
<PackageTargetRid>$(RuntimeIdentifier)</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(RuntimeIdentifier)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="$(RuntimeIdentifier.StartsWith('rhel.7.')) and $(RuntimeIdentifier.EndsWith('-x64'))">rhel.7-x64</PackageTargetRid>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(UsingNETSdkCompiler)' != 'true'">
|
||||
|
|
|
@ -2,12 +2,7 @@
|
|||
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
<Import Project="$(RepositoryEngineeringDir)/DisableSourceControlManagement.targets" Condition="'$(EnableSourceLink)' == 'false'" />
|
||||
|
||||
<!-- Provide default targets which can be hooked onto or overridden as necessary -->
|
||||
<Target Name="Pack" />
|
||||
|
||||
<UsingTask TaskName="RegenerateReadmeTable" AssemblyFile="$(LocalBuildToolsTaskFile)" />
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
Define this here (not just in Versions.props) because the SDK resets it
|
||||
|
@ -15,61 +10,4 @@
|
|||
-->
|
||||
<NETCoreAppMaximumVersion>$(MajorVersion).$(MinorVersion)</NETCoreAppMaximumVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Common target to find all sfxproj. In a target to avoid evaluating for every project. -->
|
||||
<Target Name="GetSharedFrameworkProjects">
|
||||
<ItemGroup>
|
||||
<SharedFrameworkProject Include="$(RepoRoot)pkg\**\*.sfxproj" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Arcade SDK versioning is defined by static properties in a targets file: work around this by
|
||||
moving properties based on versioning into a target.
|
||||
-->
|
||||
<Target Name="GetProductVersions">
|
||||
<PropertyGroup>
|
||||
<IncludePreReleaseLabelInPackageVersion Condition="'$(DotNetFinalVersionKind)' != 'release'">true</IncludePreReleaseLabelInPackageVersion>
|
||||
<IncludePreReleaseLabelInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludePreReleaseLabelInPackageVersion>
|
||||
<IncludePreReleaseLabelInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludePreReleaseLabelInPackageVersion>
|
||||
|
||||
<IncludeBuildNumberInPackageVersion Condition="'$(StabilizePackageVersion)' != 'true'">true</IncludeBuildNumberInPackageVersion>
|
||||
<IncludeBuildNumberInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludeBuildNumberInPackageVersion>
|
||||
<IncludeBuildNumberInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludeBuildNumberInPackageVersion>
|
||||
|
||||
<ProductVersionSuffix Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">-$(VersionSuffix)</ProductVersionSuffix>
|
||||
<ProductBandVersion Condition="'$(ProductBandVersion)' == ''">$(MajorVersion).$(MinorVersion)</ProductBandVersion>
|
||||
<ProductionVersion Condition="'$(ProductionVersion)' == ''">$(ProductBandVersion).$(PatchVersion)</ProductionVersion>
|
||||
<ProductVersion>$(ProductionVersion)$(ProductVersionSuffix)</ProductVersion>
|
||||
|
||||
<SharedFrameworkNugetVersion>$(ProductVersion)</SharedFrameworkNugetVersion>
|
||||
|
||||
<NuGetVersion>$(SharedFrameworkNugetVersion)</NuGetVersion>
|
||||
|
||||
<InstallersRelativePath>WindowsDesktop/$(SharedFrameworkNugetVersion)/</InstallersRelativePath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(OutputRid)' != ''">
|
||||
<ProductMoniker>$(SharedFrameworkNugetVersion)-$(PackageTargetRid)</ProductMoniker>
|
||||
<HostResolverVersionMoniker>$(HostResolverVersion)-$(PackageTargetRid)</HostResolverVersionMoniker>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<!-- Target used by shared framework tooling SDK, but only for NETCoreApp properties. Stub. -->
|
||||
<Target Name="GetInstallerLocations"
|
||||
DependsOnTargets="GetProductVersions" />
|
||||
|
||||
<Target Name="GetLatestCommitHash"
|
||||
Condition="'$(LatestCommit)' == ''">
|
||||
<!-- Get the latest commit hash -->
|
||||
<Exec Command="git rev-parse HEAD 2>&1" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="LatestCommit" />
|
||||
<Output TaskParameter="ExitCode" PropertyName="LatestCommitExitCode" />
|
||||
</Exec>
|
||||
<!-- We shouldn't fail the build if we can't retreive the commit hash, so in this case just set it to N/A -->
|
||||
<PropertyGroup Condition="'$(LatestCommitExitCode)'!='0'">
|
||||
<LatestCommit>N/A</LatestCommit>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -39,21 +39,11 @@
|
|||
|
||||
<ItemGroup>
|
||||
<SubsetName
|
||||
Include="depproj"
|
||||
Description="The dependency projects. These gather shared framework files and run crossgen on them to turn them into ready-to-run (R2R) assemblies for the current platform." />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('depproj'))">
|
||||
<DepprojProjectToBuild Include="$(RepoRoot)pkg\**\*.depproj" SignPhase="Binaries" />
|
||||
<ProjectToBuild Include="@(DepprojProjectToBuild)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SubsetName
|
||||
Include="pkgproj"
|
||||
Include="Packages"
|
||||
Description="The packaging projects. These produce NETCoreApp and WindowsDesktop assets: NuGet packages, installers, zips, and Linux packages." />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('pkgproj'))">
|
||||
<PkgprojProjectToBuild Include="$(RepoRoot)pkg\**\*.pkgproj" SignPhase="MsiFiles" />
|
||||
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('packages'))">
|
||||
<PkgprojProjectToBuild Include="$(RepoRoot)pkg\**\*.sfxproj" SignPhase="MsiFiles" />
|
||||
<ProjectToBuild Include="@(PkgprojProjectToBuild)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -67,17 +57,6 @@
|
|||
<ProjectToBuild Include="@(BundleProjectToBuild)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SubsetName
|
||||
Include="Installer"
|
||||
Description="Creates final installer files. Signs the burn bundle, including engine, and produces NuGet packages for VS insertion." />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('installer'))">
|
||||
<InstallerProjectToBuild Include="$(RepoRoot)pkg\signed-bundle\signed-bundle.proj" />
|
||||
<InstallerProjectToBuild Include="$(RepoRoot)pkg\vs-insertion-packages\vs-insertion-packages.proj" />
|
||||
<ProjectToBuild Include="@(InstallerProjectToBuild)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SubsetName
|
||||
Include="Badge"
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>f56a56f90ff9124c85e4d889faeeca0824d2d437</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Internal" Version="6.0.0-alpha.1.20561.11" CoherentParentDependency="Microsoft.Private.Winforms">
|
||||
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.0-alpha.1.20561.11" CoherentParentDependency="Microsoft.Private.Winforms">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>f56a56f90ff9124c85e4d889faeeca0824d2d437</Sha>
|
||||
</Dependency>
|
||||
|
@ -143,11 +143,19 @@
|
|||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.SharedFramework" Version="6.0.0-beta.20630.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.20630.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.20630.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" Version="6.0.0-beta.20630.2">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.20630.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
|
||||
</Dependency>
|
||||
|
|
|
@ -40,11 +40,13 @@
|
|||
<PropertyGroup>
|
||||
<!-- arcade -->
|
||||
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksFeedVersion>
|
||||
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksArchivesVersion>
|
||||
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksPackagingVersion>
|
||||
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksInstallersVersion>
|
||||
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.20630.2</MicrosoftDotNetVersionToolsTasksVersion>
|
||||
<!-- core-setup -->
|
||||
<MicrosoftNETCoreAppRefVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppRefVersion>
|
||||
<MicrosoftNETCoreAppInternalVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppInternalVersion>
|
||||
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.0-alpha.1.20561.11</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64Version>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppRuntimewinx64Version>
|
||||
<!-- corefx -->
|
||||
<MicrosoftNETCorePlatformsVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCorePlatformsVersion>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20630.2",
|
||||
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "6.0.0-beta.20630.2"
|
||||
"Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.20630.2",
|
||||
"Microsoft.Build.NoTargets": "1.0.53"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" />
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
|
||||
<PackageLicenseFile>$(ProjectDir)LICENSE.TXT</PackageLicenseFile>
|
||||
<PackageThirdPartyNoticesFile>$(ProjectDir)THIRD-PARTY-NOTICES.TXT</PackageThirdPartyNoticesFile>
|
||||
<LicenseUrl>https://github.com/dotnet/core-setup/blob/master/LICENSE.TXT</LicenseUrl>
|
||||
|
@ -12,207 +11,38 @@
|
|||
<ReleaseNotes>https://go.microsoft.com/fwlink/?LinkID=799417</ReleaseNotes>
|
||||
<ProjectUrl>https://dot.net</ProjectUrl>
|
||||
<RepositoryUrl>https://github.com/dotnet/windowsdesktop</RepositoryUrl>
|
||||
|
||||
<!-- this repo doesn't currently use the index so don't force it to be in sync -->
|
||||
<SkipIndexCheck>true</SkipIndexCheck>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageIndex Include="$(MSBuildThisFileDirectory)packageIndex.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePlatform>AnyCPU</PackagePlatform>
|
||||
|
||||
<SkipPackageFileCheck>true</SkipPackageFileCheck>
|
||||
<!-- This property must be set to the same value as $(PackageOutputPath) for the nuspecs and nupkgs to be binplaced to the intended location. -->
|
||||
<OutputPath>$(PackageOutputPath)</OutputPath>
|
||||
|
||||
<PackageTargetRuntime Condition="'$(PackageTargetRuntime)' == '' AND '$(MSBuildProjectExtension)' == '.depproj'">$(RuntimeIdentifier)</PackageTargetRuntime>
|
||||
|
||||
<BuildRuntimePackages Condition="'$(BuildRuntimePackages)' == ''">true</BuildRuntimePackages>
|
||||
<BuildLineupPackage Condition="'$(BuildLineupPackage)' == ''">true</BuildLineupPackage>
|
||||
|
||||
<PackProjectDependencies Condition="'$(PackProjectDependencies)' == ''">true</PackProjectDependencies>
|
||||
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
|
||||
<!-- Prevent unintended Microsoft.NETCore.Platforms package downgrade. -->
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
<ImportNuGetBuildTasksPackTargetsFromSdk>false</ImportNuGetBuildTasksPackTargetsFromSdk>
|
||||
|
||||
<!-- Tell NuGet where the assets file is. I think the intermediate output path got more complex with Arcade. -->
|
||||
<RestoreOutputPath>$(BaseIntermediateOutputPath)</RestoreOutputPath>
|
||||
<ProjectAssetsFile>$(RestoreOutputPath)\project.assets.json</ProjectAssetsFile>
|
||||
|
||||
<!--
|
||||
Disable ResolveAssemblyReference cache. The packaging projects run in parallel and use MSBuild
|
||||
tasks calling various targets, many of which use ResolveReferences. The parallel writes to the
|
||||
cache conflict and cause build failures. Disable the cache to avoid this.
|
||||
|
||||
In the long term, the "base" project build (depproj as of writing) should lay out the files or
|
||||
metadata in a way the other projects can consume. Gathering the information ahead of time
|
||||
removes the benefit of a cache.
|
||||
-->
|
||||
<DisableRarCache>true</DisableRarCache>
|
||||
|
||||
<!-- During a build from source, only current-RID assets are available from upstream repos. -->
|
||||
<RestoreAllBuildRids Condition="'$(RestoreAllBuildRids)' == '' and '$(DotNetBuildFromSource)' == 'true'">false</RestoreAllBuildRids>
|
||||
<!--
|
||||
Normally, it is necessary to restore all RIDs so that assets are available to inspect. For
|
||||
example, the platform manifest includes data from all RIDs.
|
||||
-->
|
||||
<RestoreAllBuildRids Condition="'$(RestoreAllBuildRids)' == ''">true</RestoreAllBuildRids>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<VSInsertionProductName>NetCore</VSInsertionProductName>
|
||||
<VSInsertionCommonPrefix>VS.Redist.Common</VSInsertionCommonPrefix>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Most packages need the host to be built first. -->
|
||||
<ItemGroup Condition="'$(DisableOrderDependencies)' != 'true'">
|
||||
<OrderProjectReference Include="@(CorehostProjectToBuild)" />
|
||||
<!-- Pkgproj requires its depproj crossgen outputs to be signed.-->
|
||||
<OrderProjectReference
|
||||
Condition="'$(MSBuildProjectExtension)' == '.pkgproj'"
|
||||
Include="$(RepoRoot)signing\SignBinaries.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- In *.builds projects, the current phase's name is the same as the project name. -->
|
||||
<PropertyGroup>
|
||||
<BuildPhase>$(MSBuildProjectName)</BuildPhase>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(PackageTargetRuntime)' == ''">
|
||||
<SkipValidatePackage>true</SkipValidatePackage>
|
||||
<IncludeRuntimeJson Condition="'$(IncludeRuntimeJson)' == ''">true</IncludeRuntimeJson>
|
||||
<IsLineupPackage Condition="'$(IsLineupPackage)' == ''">true</IsLineupPackage>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.depproj'">
|
||||
<!--
|
||||
we don't want any analyzers by ResolveNuGetPackageAssets
|
||||
null-refs when this isn't set and an analyzer is in the packages
|
||||
-->
|
||||
<Language>unused</Language>
|
||||
<NuGetTargetMoniker>$(NETCoreAppFrameworkMoniker)</NuGetTargetMoniker>
|
||||
<NuGetTargetMonikerShort>$(NETCoreAppFramework)</NuGetTargetMonikerShort>
|
||||
<PackageTargetFramework>$(NETCoreAppFramework)</PackageTargetFramework>
|
||||
<CrossGenOutputPath>$(CrossGenRootPath)$(MSBuildProjectName)\</CrossGenOutputPath>
|
||||
<ContainsPackageReferences>true</ContainsPackageReferences>
|
||||
<RidSpecificAssets Condition="'$(RuntimeIdentifier)' != ''">true</RidSpecificAssets>
|
||||
<CrossGenSymbolsOutputPath>$(PackageSymbolsBinDir)/$(MSBuildProjectName)</CrossGenSymbolsOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework Condition="'$(TargetFramework)' == ''">$(PackageTargetFramework)</TargetFramework>
|
||||
<TargetFramework Condition="'$(TargetFramework)' == ''">$(NETCoreAppFramework)</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Add required legal files to packages -->
|
||||
<ItemGroup Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">
|
||||
<File Condition="Exists('$(PackageLicenseFile)')"
|
||||
Include="$(PackageLicenseFile)" >
|
||||
<SkipPackageFileCheck>true</SkipPackageFileCheck>
|
||||
</File>
|
||||
<File Condition="Exists('$(PackageThirdPartyNoticesFile)')"
|
||||
Include="$(PackageThirdPartyNoticesFile)" >
|
||||
<SkipPackageFileCheck>true</SkipPackageFileCheck>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RIDPropsFile Condition="'$(RIDPropsFile)' == ''">$(MSBuildThisFileDirectory)\windowsdesktopRIDs.props</RIDPropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(RIDPropsFile)" />
|
||||
|
||||
|
||||
<!--
|
||||
5.0 SDK currently does not know about net6.0 TargetFramework.
|
||||
We need to manually add these to correctly resolve the targeting packs until
|
||||
we update the build to reference a 6.0 SDK.
|
||||
-->
|
||||
<ItemGroup>
|
||||
<_buildingOnRID Include="$(PackageRID)" Condition="'$(BuildOnUnknownPlatforms)' != 'false'">
|
||||
<Platform>$(Platform)</Platform>
|
||||
</_buildingOnRID>
|
||||
<!-- Ensure we have a RID-specific package for the current build, even if it isn't in our official set -->
|
||||
<BuildRID Include="@(OfficialBuildRID)" Exclude="@(_buildingOnRID)"/>
|
||||
<!-- Include Unofficial Build RIDs in runtime.json's but do not include in the platform manifest -->
|
||||
<BuildRID Include="@(UnofficialBuildRID)" Exclude="@(_buildingOnRID)">
|
||||
<ExcludeFromPlatformManifest>true</ExcludeFromPlatformManifest>
|
||||
</BuildRID>
|
||||
<BuildRID Include="@(_buildingOnRID)"/>
|
||||
<KnownFrameworkReference Include="Microsoft.NETCore.App"
|
||||
DefaultRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
|
||||
IsTrimmable="true"
|
||||
LatestRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
|
||||
RuntimeFrameworkName="Microsoft.NETCore.App"
|
||||
RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**"
|
||||
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
|
||||
TargetFramework="$(NETCoreAppFramework)"
|
||||
TargetingPackName="Microsoft.NETCore.App.Ref"
|
||||
TargetingPackVersion="$(MicrosoftNETCoreAppRefVersion)" />
|
||||
|
||||
<RestoreBuildRID Include="@(BuildRID)" Exclude="@(UnofficialBuildRID)" />
|
||||
<KnownAppHostPack Include="Microsoft.NETCore.App"
|
||||
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
|
||||
AppHostPackVersion="$(MicrosoftNETCoreAppRefVersion)"
|
||||
AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86"
|
||||
TargetFramework="$(NETCoreAppFramework)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
By default, lineup and runtime packages are built by the same project. Allow overriding so
|
||||
a project can depend on another to produce runtime packages with a different base ID.
|
||||
-->
|
||||
<RuntimeProjectFile Condition="'$(RuntimeProjectFile)' == ''">$(MSBuildProjectFullPath)</RuntimeProjectFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(HasRuntimePackages)' != 'false'">
|
||||
<_project Include="@(BuildRID)">
|
||||
<Platform Condition="'%(Platform)' == ''">x64</Platform>
|
||||
<BuildRID>%(Identity)</BuildRID>
|
||||
<PackageTargetRuntime>%(BuildRID)</PackageTargetRuntime>
|
||||
<AdditionalProperties>PackageTargetRuntime=%(BuildRID);RuntimeIdentifier=%(BuildRID);Platform=%(Platform)</AdditionalProperties>
|
||||
</_project>
|
||||
|
||||
<RuntimeProject Include="@(_project->'$(RuntimeProjectFile)')" />
|
||||
|
||||
<!--
|
||||
Pack projects need package IDs like "Microsoft.NETCore.App.Host.Runtime.<rid>". The package
|
||||
tooling statically uses the MSBuild project name as the package ID, allowing for a prefix, but
|
||||
not a suffix. Set BaseId as a non-overridable global to force the desired ID in a way that the
|
||||
rest of the packaging tooling automatically respects.
|
||||
|
||||
Force IdPrefix to '' to allow using the well-supported PackageTargetRuntime without adding the
|
||||
undesired 'runtime.<rid>.' prefix to the package ID.
|
||||
-->
|
||||
<RidSpecificPackProject
|
||||
Include="@(_project->'$(RuntimeProjectFile)')"
|
||||
BaseId="$(MSBuildProjectName).%(BuildRID)"
|
||||
AdditionalProperties="%(AdditionalProperties);BaseId=%(BaseId);IdPrefix=" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- During NuGet restore, grab assets for all applicable RIDs. -->
|
||||
<RuntimeIdentifiers Condition="'$(RestoreAllBuildRids)' == 'true'">@(RestoreBuildRID)</RuntimeIdentifiers>
|
||||
<!-- When resolving assets to pack, use the target runtime (if any). -->
|
||||
<RuntimeIdentifier>$(PackageRID)</RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<Choose>
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('win'))">
|
||||
<PropertyGroup>
|
||||
<ApplicationFileExtension>.exe</ApplicationFileExtension>
|
||||
<LibraryFilePrefix></LibraryFilePrefix>
|
||||
<LibraryFileExtension>.dll</LibraryFileExtension>
|
||||
<SymbolFileExtension>.pdb</SymbolFileExtension>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(RuntimeIdentifier.StartsWith('osx'))">
|
||||
<PropertyGroup>
|
||||
<ApplicationFileExtension></ApplicationFileExtension>
|
||||
<LibraryFilePrefix>lib</LibraryFilePrefix>
|
||||
<LibraryFileExtension>.dylib</LibraryFileExtension>
|
||||
<SymbolFileExtension>.dwarf</SymbolFileExtension>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<PropertyGroup>
|
||||
<ApplicationFileExtension></ApplicationFileExtension>
|
||||
<LibraryFilePrefix>lib</LibraryFilePrefix>
|
||||
<LibraryFileExtension>.so</LibraryFileExtension>
|
||||
<SymbolFileExtension>.dbg</SymbolFileExtension>
|
||||
</PropertyGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalLibPackageExcludes Condition="'$(SymbolFileExtension)' != ''" Include="%2A%2A\%2A$(SymbolFileExtension)" />
|
||||
<AdditionalSymbolPackageExcludes Condition="'$(LibraryFileExtension)' != ''" Include="%2A%2A\%2A.a;%2A%2A\%2A$(LibraryFileExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,345 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Import stubs for compatibility with packaging tools, if not building a pkgproj. Ordinarily,
|
||||
listing them unconditionally before the ../Directory.Build.targets import would be sufficient,
|
||||
and the packaging tools would override for pkgproj. However, the packaging tools targets are
|
||||
already imported before this file, so the import needs to be specific to non-pkgproj.
|
||||
-->
|
||||
<Import Project="packaging.stubs.targets" Condition="'$(MSBuildProjectExtension)' != '.pkgproj'" />
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" />
|
||||
|
||||
<UsingTask TaskName="CreateFrameworkListFile" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
|
||||
<UsingTask TaskName="GenerateCurrentVersion" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
|
||||
<UsingTask TaskName="GenerateFileVersionProps" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
|
||||
<UsingTask TaskName="GenerateGuidFromName" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
|
||||
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
If we are stabilizing set the StableVersion property for the packages.
|
||||
Needs to happen in Directory.Build.targets to allow all the pkgproj's to set Version property first.
|
||||
-->
|
||||
<StableVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' != 'true'">$(Version)</StableVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Workaround can be removed after repo picks up Arcade sdk 5.0.0-beta.20468.7 or newer -->
|
||||
<Target Name="CreateWixOutputFolder"
|
||||
BeforeTargets="RunLightLinker">
|
||||
<MakeDir Directories="$(ArtifactsNonShippingPackagesDir)"
|
||||
Condition="!Exists('$(ArtifactsNonShippingPackagesDir)')" />
|
||||
</Target>
|
||||
<!--
|
||||
Remove duplicate files returned by restore. The resolve task performs extra detection to pick up
|
||||
a PDB file for any file listed in the assets file. This causes duplicates if the assets file
|
||||
lists PDBs. If foo.dll and foo.pdb exist in the package and both are listed in the assets file,
|
||||
the task finds:
|
||||
|
||||
foo.dll
|
||||
foo.pdb (based on foo.dll entry)
|
||||
foo.pdb
|
||||
foo.pdb (based on foo.pdb entry)
|
||||
|
||||
The duplicates cause package validation failure and must be filtered out.
|
||||
-->
|
||||
<Target Name="RemoveDuplicateResolvedNuGetPackageAssets">
|
||||
<RemoveDuplicates Inputs="@(ReferenceCopyLocalPaths)">
|
||||
<Output TaskParameter="Filtered" ItemName="FilteredReferenceCopyLocalPaths"/>
|
||||
</RemoveDuplicates>
|
||||
|
||||
<ItemGroup>
|
||||
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
|
||||
<ReferenceCopyLocalPaths Include="@(FilteredReferenceCopyLocalPaths)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="SetupFindSiblingSymbolFilesByNameForSymbolPackage">
|
||||
<ItemGroup>
|
||||
<FindSiblingSymbolsForFile Include="@(File)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Finds symbol files and injects them into the package build.
|
||||
-->
|
||||
<Target Name="GetSymbolPackageFiles"
|
||||
BeforeTargets="GetPackageFiles"
|
||||
DependsOnTargets="
|
||||
SetupFindSiblingSymbolFilesByNameForSymbolPackage;
|
||||
FindSiblingSymbolFilesByName">
|
||||
<ItemGroup Condition="'$(SymbolFileExtension)' != ''">
|
||||
<AdditionalLibPackageExcludes Include="%2A%2A\%2A$(SymbolFileExtension)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(CrossGenSymbolExtension)' != ''">
|
||||
<AdditionalLibPackageExcludes Include="%2A%2A\%2A$(CrossGenSymbolExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!--
|
||||
Discovered symbol files might already be in File, without IsSymbolFile set. Make sure we
|
||||
keep the discovered one, which has IsSymbolFile=true.
|
||||
-->
|
||||
<File Remove="@(SiblingSymbolFile)" />
|
||||
<File Include="@(SiblingSymbolFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<NeedsPlaceholderPdb Condition="'@(ExistingNonWindowsSymbolFile)' != '' and '@(ExistingWindowsSymbolFile)' == ''">true</NeedsPlaceholderPdb>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<File Include="$(MSBuildThisFileDirectory)../_.pdb"
|
||||
Condition="'$(NeedsPlaceholderPdb)' == 'true' AND '$(PackageTargetRuntime)' != ''">
|
||||
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
|
||||
<IsSymbolFile>true</IsSymbolFile>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- override GetPackageIdentity so that it doesn't attempt to gather
|
||||
files from runtime dependencies, this prevents folks from needing
|
||||
packages that don't apply to their local OS.
|
||||
https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
<Target Name="GetPackageIdentity" Returns="@(_PackageIdentity)" DependsOnTargets="CalculatePackageVersion">
|
||||
<ItemGroup>
|
||||
<_PackageIdentity Include="$(Id)">
|
||||
<Version>$(PackageVersion)</Version>
|
||||
<TargetRuntime Condition="'$(PackageTargetRuntime)' != ''">$(PackageTargetRuntime)</TargetRuntime>
|
||||
</_PackageIdentity>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- override AssignPkgProjPackageDependenciesTargetFramework so that
|
||||
it doesn't attempt to resolve all files in order to get dependency
|
||||
TargetFrameworks.
|
||||
https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
<Target Name="AssignPkgProjPackageDependenciesTargetFramework" DependsOnTargets="GetPkgProjPackageDependencies">
|
||||
<SplitDependenciesBySupport Condition="'$(SplitDependenciesBySupport)' == 'true'" OriginalDependencies="@(PkgProjDependency)">
|
||||
<Output TaskParameter="SplitDependencies" ItemName="_SplitPkgProjDependency" />
|
||||
</SplitDependenciesBySupport>
|
||||
<ItemGroup Condition="'@(_SplitPkgProjDependency)' != ''">
|
||||
<PkgProjDependency Remove="@(PkgProjDependency)" />
|
||||
<PkgProjDependency Include="@(_SplitPkgProjDependency)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<!-- ensure that unconstrained dependencies are also expanded in constrained TFM groups -->
|
||||
<_PkgProjDependencyWithoutTFM Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.TargetFramework)' == '' AND '%(PkgProjDependency.TargetRuntime)' == '' AND '%(PkgProjDependency.DoNotExpand)' != 'true'" />
|
||||
<_AllPkgProjTFMs Include="%(PkgProjDependency.TargetFramework)" Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" />
|
||||
<!-- Remove dependencies without a TFM so they can be replaced -->
|
||||
<PkgProjDependency Remove="@(_PkgProjDependencyWithoutTFM)" />
|
||||
<!-- operate on pkgproj dependencies and file dependencies -->
|
||||
<PkgProjDependency Include="@(_PkgProjDependencyWithoutTFM)">
|
||||
<TargetFramework>%(_AllPkgProjTFMs.Identity)</TargetFramework>
|
||||
</PkgProjDependency>
|
||||
<Dependency Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetNonPkgProjDependenciesToPackage"
|
||||
Condition="'$(PackProjectDependencies)' == 'true'"
|
||||
AfterTargets="ExpandProjectReferences">
|
||||
<!-- allow projects to provide dependencies -->
|
||||
<MSBuild Targets="GetDependenciesToPackage"
|
||||
BuildInParallel="$(BuildInParallel)"
|
||||
Projects="@(_NonPkgProjProjectReference)"
|
||||
Properties="$(ProjectProperties)">
|
||||
<Output TaskParameter="TargetOutputs"
|
||||
ItemName="Dependency" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetDependencyDataFileInclusionDefaults">
|
||||
<PropertyGroup Condition="'$(BuildTargetPath)' != ''">
|
||||
<FileVersionPropsTargetPath Condition="'$(FileVersionPropsTargetPath)' == ''">$(BuildTargetPath)$(Id).props</FileVersionPropsTargetPath>
|
||||
<PlatformManifestTargetPath Condition="'$(PlatformManifestTargetPath)' == ''">$(BuildTargetPath)$(Id.Replace('.Internal', '')).PlatformManifest.txt</PlatformManifestTargetPath>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<!-- Get data files (platform manifest, file version props) from depproj dependencies. -->
|
||||
<Target Name="GetDepprojDependencyDataFiles">
|
||||
<MSBuild
|
||||
Projects="@(ProjectReference)"
|
||||
Targets="GetDataFiles"
|
||||
SkipNonExistentTargets="true">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="_depprojDataFile" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
|
||||
<Target Name="IncludeFileVersionPropsFile"
|
||||
DependsOnTargets="GetDepprojDependencyDataFiles;GetDependencyDataFileInclusionDefaults"
|
||||
BeforeTargets="GetFiles">
|
||||
<!-- Create a copy with some per-pkgproj templates replaced. -->
|
||||
<PropertyGroup>
|
||||
<_propsFileTemplateFile Condition="'%(_depprojDataFile.PropsFile)' == 'true'">%(_depprojDataFile.Identity)</_propsFileTemplateFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="Exists('$(_propsFileTemplateFile)')">
|
||||
<_runtimeDependencyItems>@(RuntimeDependency)</_runtimeDependencyItems>
|
||||
<_filledPropsFileContent>$([System.IO.File]::ReadAllText('$(_propsFileTemplateFile)')
|
||||
.Replace("__PackageId__", "$(Id.Replace('.', '_'))")
|
||||
.Replace("__PreferredPackages__", "$(Id);$(_runtimeDependencyItems)"))
|
||||
</_filledPropsFileContent>
|
||||
|
||||
<_filledPropsFile>$(IntermediateOutputPath)$(MSBuildProjectName).props</_filledPropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile
|
||||
Condition="'$(_filledPropsFile)' != ''"
|
||||
File="$(_filledPropsFile)"
|
||||
Lines="$(_filledPropsFileContent)"
|
||||
Overwrite="true" />
|
||||
|
||||
<ItemGroup Condition="'$(PackageTargetRuntime)' == '' AND '$(FileVersionPropsTargetPath)' != ''">
|
||||
<File
|
||||
Include="$(_filledPropsFile)"
|
||||
TargetPath="$(FileVersionPropsTargetPath)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="IncludePlatformManifestFile"
|
||||
DependsOnTargets="GetDepprojDependencyDataFiles;GetDependencyDataFileInclusionDefaults"
|
||||
BeforeTargets="GetFiles">
|
||||
<!-- Create a copy with some per-pkgproj templates replaced. -->
|
||||
<PropertyGroup>
|
||||
<_platformManifestFileTemplateFile Condition="'%(_depprojDataFile.PlatformManifestFile)' == 'true'">%(_depprojDataFile.Identity)</_platformManifestFileTemplateFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="Exists('$(_platformManifestFileTemplateFile)')">
|
||||
<_runtimeDependencyItems>@(RuntimeDependency)</_runtimeDependencyItems>
|
||||
<_filledPlatformManifestFileContent>$([System.IO.File]::ReadAllText('$(_platformManifestFileTemplateFile)')
|
||||
.Replace("__PackageId__", "$(Id)"))
|
||||
</_filledPlatformManifestFileContent>
|
||||
|
||||
<_filledPlatformManifestFile>$(IntermediateOutputPath)PlatformManifest.txt</_filledPlatformManifestFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile
|
||||
Condition="'$(_filledPlatformManifestFile)' != ''"
|
||||
File="$(_filledPlatformManifestFile)"
|
||||
Lines="$(_filledPlatformManifestFileContent)"
|
||||
Overwrite="true" />
|
||||
|
||||
<ItemGroup Condition="'$(PlatformManifestTargetPath)' != ''">
|
||||
<File
|
||||
Include="$(_filledPlatformManifestFile)"
|
||||
TargetPath="$(PlatformManifestTargetPath)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="IncludeFrameworkListFile"
|
||||
BeforeTargets="GetFiles"
|
||||
DependsOnTargets="GetSymbolPackageFiles"
|
||||
Condition="
|
||||
'$(FrameworkListTargetPath)' != '' AND
|
||||
(
|
||||
'$(PackageTargetRuntime)' == '' OR
|
||||
'$(PackageTargetRuntime)' == '$(PackageRID)'
|
||||
)">
|
||||
<PropertyGroup>
|
||||
<FrameworkListFilename Condition="'$(FrameworkListFilename)' == ''">FrameworkList.xml</FrameworkListFilename>
|
||||
<FrameworkListFile>$(IntermediateOutputPath)$(FrameworkListFilename)</FrameworkListFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FrameworkListRootAttributes Include="Name" Value="$(FrameworkListName)" />
|
||||
<FrameworkListRootAttributes Include="TargetFrameworkIdentifier" Value="$(FrameworkListTargetFrameworkIdentifier)" />
|
||||
<FrameworkListRootAttributes Include="TargetFrameworkVersion" Value="$(FrameworkListTargetFrameworkVersion)" />
|
||||
<FrameworkListRootAttributes Include="FrameworkName" Value="$(FrameworkListFrameworkName)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error
|
||||
Condition="'%(FrameworkListRootAttributes.Value)' == ''"
|
||||
Text="Missing value for property 'FrameworkList%(FrameworkListRootAttributes.Identity)'" />
|
||||
|
||||
<CreateFrameworkListFile
|
||||
Files="@(File)"
|
||||
FileClassifications="@(FrameworkListFileClass)"
|
||||
TargetFile="$(FrameworkListFile)"
|
||||
TargetFilePrefixes="ref/;runtimes/"
|
||||
RootAttributes="@(FrameworkListRootAttributes)" />
|
||||
|
||||
<ItemGroup>
|
||||
<File Include="$(FrameworkListFile)">
|
||||
<TargetPath>$(FrameworkListTargetPath)</TargetPath>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Create RuntimeDependencies just before they're needed. Use MSBuild to get their identities, like
|
||||
GetPkgProjPackageDependencies: this finds package id and version without any guesswork.
|
||||
-->
|
||||
<Target Name="CreateRuntimeDependencyItems"
|
||||
BeforeTargets="DetermineRuntimeDependencies"
|
||||
Condition="'$(PackageTargetRuntime)' == '' and '$(HasRuntimePackages)' != 'false'">
|
||||
<MSBuild
|
||||
Targets="GetPackageIdentity"
|
||||
BuildInParallel="$(BuildInParallel)"
|
||||
Projects="@(RuntimeProject -> WithMetadataValue('Extension', '.pkgproj'))">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="_runtimeDependencyIdentity" />
|
||||
</MSBuild>
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimeDependency Include="@(_runtimeDependencyIdentity)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Get branding names for the installers.
|
||||
-->
|
||||
<Target Name="GetInstallerBrandingNames"
|
||||
DependsOnTargets="GetProductVersions">
|
||||
<PropertyGroup
|
||||
Condition="
|
||||
'$(ReleaseBrandSuffix)' == '' and
|
||||
'$(PreReleaseVersionLabel)' != '' and
|
||||
'$(PreReleaseVersionIteration)' != ''">
|
||||
<!-- Convert 'preview.7' to 'Preview 7'.
|
||||
'preview' will come from the pre-release version iteration and the numeric value
|
||||
will be the PreReleaseVersionIteration. -->
|
||||
|
||||
<ReleaseBrandSuffix>$(PreReleaseVersionLabel.Substring(0,1).ToUpperInvariant())</ReleaseBrandSuffix>
|
||||
<ReleaseBrandSuffix>$(ReleaseBrandSuffix)$(PreReleaseVersionLabel.Substring(1))</ReleaseBrandSuffix>
|
||||
<ReleaseBrandSuffix>$(ReleaseBrandSuffix) $(PreReleaseVersionIteration)</ReleaseBrandSuffix>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ProductBrandPrefix Condition="'$(ProductBrandPrefix)' == ''">Microsoft .NET Core</ProductBrandPrefix>
|
||||
<ProductBrandSuffix>$(ProductionVersion)</ProductBrandSuffix>
|
||||
<ProductBrandSuffix Condition="'$(ReleaseBrandSuffix)'!=''">$(ProductionVersion) $(ReleaseBrandSuffix)</ProductBrandSuffix>
|
||||
|
||||
<TargetingPackBrandName>$(ProductBrandPrefix) Targeting Pack - $(ProductBrandSuffix)</TargetingPackBrandName>
|
||||
<SharedFrameworkBrandName>$(ProductBrandPrefix) Runtime - $(ProductBrandSuffix)</SharedFrameworkBrandName>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateMsiVersionString">
|
||||
<PropertyGroup>
|
||||
<VersionPadding Condition="'$(VersionPadding)'==''">5</VersionPadding>
|
||||
<!-- Using the following default comparison date will produce versions that align with our internal build system. -->
|
||||
<VersionComparisonDate Condition="'$(VersionComparisonDate)'==''">1996-04-01</VersionComparisonDate>
|
||||
</PropertyGroup>
|
||||
|
||||
<GenerateCurrentVersion
|
||||
SeedDate="$([System.DateTime]::Now.ToString(yyyy-MM-dd))"
|
||||
OfficialBuildId="$(OfficialBuildId)"
|
||||
ComparisonDate="$(VersionComparisonDate)"
|
||||
Padding="$(VersionPadding)">
|
||||
<Output PropertyName="BuildNumberMajor" TaskParameter="GeneratedVersion" />
|
||||
<Output PropertyName="BuildNumberMinor" TaskParameter="GeneratedRevision" />
|
||||
</GenerateCurrentVersion>
|
||||
|
||||
<GenerateMsiVersion
|
||||
Major="$(MajorVersion)"
|
||||
Minor="$(MinorVersion)"
|
||||
Patch="$(PatchVersion)"
|
||||
BuildNumberMajor="$(BuildNumberMajor)"
|
||||
BuildNumberMinor="$(BuildNumberMajor)">
|
||||
<Output TaskParameter="MsiVersion" PropertyName="MsiVersionString" />
|
||||
</GenerateMsiVersion>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,8 +1,7 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<Target Name="GenerateVersionBadge"
|
||||
DependsOnTargets="GetProductVersions">
|
||||
<Target Name="GenerateVersionBadge">
|
||||
<PropertyGroup>
|
||||
<templateSvg>$(MSBuildThisFileDirectory)version_badge.svg</templateSvg>
|
||||
</PropertyGroup>
|
||||
|
@ -11,7 +10,7 @@
|
|||
|
||||
<WriteLinesToFile
|
||||
File="$(OutputVersionBadge)"
|
||||
Lines="$([System.IO.File]::ReadAllText('$(templateSvg)').Replace('ver_number', '$(ProductVersion)'))"
|
||||
Lines="$([System.IO.File]::ReadAllText('$(templateSvg)').Replace('ver_number', '$(Version)'))"
|
||||
Overwrite="true" />
|
||||
|
||||
<Message Text="$(MSBuildProjectName) -> $(OutputVersionBadge)" Importance="High" />
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
{
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Provide default stub targets for packaging tasks, if not defined. Allows freer use of
|
||||
ProjectReferences in pkgproj.
|
||||
-->
|
||||
<Target Name="GetFilesToPackage" />
|
||||
<Target Name="GetDependenciesToPackage" />
|
||||
<Target Name="DetermineRuntimeDependencies" />
|
||||
|
||||
</Project>
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
|
||||
|
||||
<Target Name="Build"
|
||||
DependsOnTargets="
|
||||
BuildDependencies;
|
||||
BuildInstallers;
|
||||
SignCombinedInstallers"
|
||||
Condition="'$(DOTNET_BUILD_SKIP_PACKAGING)' != 'true'" />
|
||||
|
||||
<Target Name="BuildInstallers"
|
||||
DependsOnTargets="
|
||||
EnsureSignedBinaries;
|
||||
GenerateProjectInstallers;"
|
||||
Condition="'$(DOTNET_BUILD_SKIP_PACKAGING)' != 'true'" />
|
||||
|
||||
<Target Name="SignCombinedInstallers"
|
||||
Condition="
|
||||
'$(OSGroup)' == 'Windows_NT' and
|
||||
'$(SkipSigning)' != 'true'"
|
||||
DependsOnTargets="
|
||||
EnsureSignedBurnEngineFiles;
|
||||
EnsureSignedBurnBundleFiles" />
|
||||
|
||||
<!--
|
||||
To build installers, we need shared fx layouts to be built first. Call MSBuild on the
|
||||
requirements so that parallel MSBuild does the ordering work.
|
||||
|
||||
Also ensures NuGet packages are built and signed.
|
||||
-->
|
||||
<Target Name="BuildDependencies"
|
||||
DependsOnTargets="GetSharedFrameworkProjects">
|
||||
<MSBuild
|
||||
Projects="@(SharedFrameworkProject)"
|
||||
Targets="Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureSignedBinaries" Condition="'$(OSGroup)' == 'Windows_NT'" >
|
||||
<MSBuild Projects="$(RepoRoot)signing\SignBinaries.proj" Targets="Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureSignedMsiFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
|
||||
<MSBuild Projects="$(RepoRoot)signing\SignMsiFiles.proj" Targets="Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureSignedBurnEngineFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
|
||||
<MSBuild Projects="$(RepoRoot)signing\SignBurnEngineFiles.proj" Targets="Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureSignedBurnBundleFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
|
||||
<MSBuild Projects="$(RepoRoot)signing\SignBurnBundleFiles.proj" Targets="Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateProjectInstallers" Condition="'$(GenerateProjectInstallers)' == 'true'">
|
||||
<ItemGroup>
|
||||
<InstallerProject Include="$(RepoRoot)pkg\**\*.pkgproj" />
|
||||
<InstallerProject Include="$(RepoRoot)pkg\**\*.sfxproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild Projects="@(InstallerProject)" Targets="GenerateInstallers" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,21 +0,0 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<!--
|
||||
Ensure MSIs are built and signed (if necessary) then call the target that generates the MSI
|
||||
insertion NuGet packages on each project. Bundle installers aren't inserted, so this is enough.
|
||||
-->
|
||||
<Target Name="Build" DependsOnTargets="GetSharedFrameworkProjects">
|
||||
<MSBuild Projects="$(RepoRoot)signing\SignMsiFiles.proj" Targets="Build" />
|
||||
<MSBuild Projects="@(PkgprojProjectToBuild);@(SharedFrameworkProject)" Targets="GenerateVSInsertionNupkg" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Test" />
|
||||
|
||||
</Project>
|
|
@ -8,10 +8,6 @@
|
|||
<PropertyGroup>
|
||||
<ShortFrameworkName>windowsdesktop</ShortFrameworkName>
|
||||
|
||||
<FrameworkPackageName>$(SharedFrameworkName)</FrameworkPackageName>
|
||||
|
||||
<VSInsertionProductName>WindowsDesktop</VSInsertionProductName>
|
||||
|
||||
<!--
|
||||
Do not attempt to restore or build WindowsDesktop projects when building from source, because
|
||||
WinForms and WPF do not participate.
|
||||
|
@ -28,9 +24,6 @@
|
|||
runtimes\win-x86\lib\netcoreapp3.0\System.Printing.dll
|
||||
-->
|
||||
<PermitDllAndExeFilesLackingFileVersion>true</PermitDllAndExeFilesLackingFileVersion>
|
||||
|
||||
<!-- Generate the runtimeconfig with the correct Microsoft.NETCore.App version. -->
|
||||
<MicrosoftNETCoreAppRuntimeConfigVersion>$(MicrosoftNETCoreAppRuntimewinx64Version)</MicrosoftNETCoreAppRuntimeConfigVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
<Project>
|
||||
|
||||
<Target Name="GetNETCoreAppPackDirs">
|
||||
<PropertyGroup>
|
||||
<RefPackageDir>$(NuGetPackageRoot)Microsoft.NETCore.App.Ref\$(MicrosoftNETCoreAppRefVersion)\</RefPackageDir>
|
||||
<RuntimePackageDir>$(NuGetPackageRoot)Microsoft.NETCore.App.Runtime.$(PackageTargetRuntime)\$(MicrosoftNETCoreAppRuntimewinx64Version)\</RuntimePackageDir>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Installers" Version="$(MicrosoftDotNetBuildTasksInstallersVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,39 +1,41 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Project Sdk="Microsoft.Build.NoTargets">
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
Name, used to generate the bundle upgrade code. Must stay the same to allow bundles in a given
|
||||
product band to upgrade in place.
|
||||
-->
|
||||
<BundleInstallerUpgradeCodeSeed>Windows Desktop Shared Framework Bundle Installer</BundleInstallerUpgradeCodeSeed>
|
||||
<RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers>
|
||||
<BundleThemeDirectory>$(MSBuildProjectDirectory)</BundleThemeDirectory>
|
||||
<InstallerName>windowsdesktop-runtime</InstallerName>
|
||||
<BundleNameSuffix>Runtime</BundleNameSuffix>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BundleComponentReference Include="Microsoft.WindowsDesktop.App.SharedFx.sfxproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CandleVariables Include="BundleThmDir" Value="$(MSBuildProjectDirectory)" />
|
||||
<BundleComponentReference Include="../sfx/Microsoft.WindowsDesktop.App.Runtime.sfxproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Obtain the .NET Core Runtime installers from the VS insertion packages. -->
|
||||
<Target Name="CollectVSInsertionPackageDownloads"
|
||||
BeforeTargets="CollectPackageReferences">
|
||||
<ItemGroup>
|
||||
<_RuntimeIdentifierForNETCoreMsiRestore Include="win-x86;win-x64" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<InsertionPackageRID
|
||||
Include="@(RestoreBuildRID)"
|
||||
Arch="$([System.String]::new('%(Identity)').Replace('win-', ''))"
|
||||
Condition="'%(RestoreBuildRID.RuntimeMsiExists)' == 'true'" />
|
||||
Include="@(_RuntimeIdentifierForNETCoreMsiRestore)"
|
||||
Condition="'$(InstallerRuntimeIdentifier)' == '%(Identity)'"
|
||||
Arch="$([System.String]::new('%(Identity)').Replace('win-', ''))" />
|
||||
|
||||
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="runtime" InsertionName="SharedFramework" />
|
||||
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="hostfxr" InsertionName="HostFXR" />
|
||||
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="host" InsertionName="SharedHost" />
|
||||
|
||||
<NETCoreAppInstallerMsiRID
|
||||
Update="@(NETCoreAppInstallerMsiRID)"
|
||||
Id="VS.Redist.Common.NetCore.%(InsertionName).%(Arch).$(MajorVersion).$(MinorVersion)"
|
||||
Version="$(MicrosoftNETCoreAppInternalVersion)"
|
||||
Version="$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
|
||||
MsiFileName="dotnet-%(Name)-$(MicrosoftNETCoreAppRuntimewinx64Version)-%(Identity).msi" />
|
||||
|
||||
<PackageDownload Include="@(NETCoreAppInstallerMsiRID -> '%(Id)')" Version="[%(Version)]" />
|
||||
|
@ -43,14 +45,14 @@
|
|||
<!-- Bundle the .NET Core Runtime MSIs. This order puts them before the WindowsDesktop MSIs. -->
|
||||
<Target Name="GetBundledNETCoreRuntimeMsiFiles"
|
||||
DependsOnTargets="CollectVSInsertionPackageDownloads"
|
||||
BeforeTargets="GetBundledMsiFiles">
|
||||
BeforeTargets="_GetBundledComponentInstallers">
|
||||
<ItemGroup>
|
||||
<NETCoreAppInstallerMsiRID
|
||||
CacheDir="$(NuGetPackageRoot)$([System.String]::new('%(Id)').ToLowerInvariant())\%(Version)\" />
|
||||
|
||||
<BundleMsiFile
|
||||
<_BundledComponents
|
||||
Include="@(NETCoreAppInstallerMsiRID -> '%(CacheDir)\%(MsiFileName)')"
|
||||
Condition="'$(PackageRID)' == '%(Identity)'" />
|
||||
Condition="'$(RuntimeIdentifier)' == '%(Identity)'" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
</Project>
|
|
@ -1,2 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
</Project>
|
|
@ -1,71 +0,0 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PreventImplementationReference Condition="'$(PackageTargetRuntime)' != ''">true</PreventImplementationReference>
|
||||
<BuildTargetPath>build/$(NETCoreAppFramework)/</BuildTargetPath>
|
||||
|
||||
<FrameworkListTargetPath>data/</FrameworkListTargetPath>
|
||||
|
||||
<TargetFrameworkName>net</TargetFrameworkName>
|
||||
<TargetFrameworkVersion>$(NETCoreAppFrameworkVersion)</TargetFrameworkVersion>
|
||||
<TargetFramework>$(TargetFrameworkName)$(TargetFrameworkVersion)</TargetFramework>
|
||||
|
||||
<!--
|
||||
Turn on package validation to validate the dependency closure. Important because the
|
||||
WPF/WinForms packages don't declare their transitive dependencies and the depproj has to fill
|
||||
it in correctly. Being wrong means dependency failures at runtime.
|
||||
-->
|
||||
<SkipValidatePackage>false</SkipValidatePackage>
|
||||
|
||||
<IsShipping>false</IsShipping>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero2" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.AeroLite" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Classic" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Luna" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Royale" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- There is a known cycle. More info at https://github.com/dotnet/wpf/issues/607 -->
|
||||
<IgnoredReference Include="PresentationFramework" />
|
||||
<IgnoredReference Include="ReachFramework" />
|
||||
<IgnoredReference Include="System.Printing" />
|
||||
<IgnoredReference Include="System.IO.Pipelines" />
|
||||
<IgnoredReference Include="System.Net.Connections" />
|
||||
|
||||
<!-- We don't have a ref assembly for DirectWriteForwarder -->
|
||||
<IgnoredReference Condition="'$(PackageTargetRuntime)' == ''" Include="DirectWriteForwarder" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(MicrosoftNETCoreAppRefVersion)]" />
|
||||
<PackageDownload Include="@(RestoreBuildRID -> 'Microsoft.NETCore.App.Runtime.%(Identity)')" Version="[$(MicrosoftNETCoreAppRuntimewinx64Version)]" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="GetNETCoreAppIgnoredReference"
|
||||
BeforeTargets="VerifyClosure"
|
||||
DependsOnTargets="GetNETCoreAppPackDirs">
|
||||
<ItemGroup>
|
||||
<IgnoredReferenceFile
|
||||
Condition="'$(PackageTargetRuntime)' == ''"
|
||||
Include="$(RefPackageDir)ref\$(NETCoreAppFramework)\*.dll" />
|
||||
|
||||
<IgnoredReferenceFile
|
||||
Condition="'$(PackageTargetRuntime)' != ''"
|
||||
Include="$(RuntimePackageDir)runtimes\$(PackageTargetRuntime)\lib\$(NETCoreAppFramework)\*.dll" />
|
||||
|
||||
<IgnoredReference Include="@(IgnoredReferenceFile -> '%(Filename)')" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<!-- Don't validate this package as it doesn't actually represent a framework. -->
|
||||
<Target Name="ValidateFrameworkPackage" />
|
||||
|
||||
</Project>
|
|
@ -1,9 +1,24 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<DisableImplicitFrameworkReferences>false</DisableImplicitFrameworkReferences>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SharedFrameworkName>Microsoft.WindowsDesktop.App</SharedFrameworkName>
|
||||
<SharedFrameworkFriendlyName>Windows Desktop</SharedFrameworkFriendlyName>
|
||||
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
|
||||
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppRefVersion)</RuntimeFrameworkVersion>
|
||||
<LicenseFile>$(RepoRoot)LICENSE</LicenseFile>
|
||||
<GenerateInstallers>true</GenerateInstallers>
|
||||
<GenerateVSInsertionPackages>true</GenerateVSInsertionPackages>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Redistribute package content from other nuget packages. -->
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.DotNet.Wpf.GitHub" Version="$(MicrosoftDotNetWpfGitHubVersion)" />
|
||||
<PackageReference Include="Microsoft.Private.Winforms" Version="$(MicrosoftPrivateWinformsVersion)" />
|
||||
|
||||
<PackageReference Include="Microsoft.Private.Winforms" Version="$(MicrosoftPrivateWinformsVersion)" GeneratePathProperty="true" />
|
||||
<PackageReference Include="Microsoft.Win32.Registry.AccessControl" Version="$(MicrosoftWin32RegistryAccessControlVersion)" />
|
||||
<PackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryVersion)" />
|
||||
<PackageReference Include="Microsoft.Win32.SystemEvents" Version="$(MicrosoftWin32SystemEventsVersion)" />
|
||||
|
@ -27,11 +42,4 @@
|
|||
<PackageReference Include="System.Threading.AccessControl" Version="$(SystemThreadingAccessControlVersion)" />
|
||||
<PackageReference Include="System.Windows.Extensions" Version="$(SystemWindowsExtensionsVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
Version.txt files aren't provided in some packages. However, they're not necessary anymore:
|
||||
dependency information is now in Version.Details.xml and BAR. Stub the target to ignore.
|
||||
-->
|
||||
<Target Name="GetDependencyVersionFiles" />
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,43 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
|
||||
|
||||
<ItemGroup>
|
||||
<KnownFrameworkReference
|
||||
Update="Microsoft.NETCore.App"
|
||||
DefaultRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
|
||||
LatestRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
|
||||
TargetingPackVersion="$(MicrosoftNETCoreAppRefVersion)" />
|
||||
<KnownFrameworkReference Remove="Microsoft.AspNetCore.App" />
|
||||
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App" />
|
||||
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WindowsForms" />
|
||||
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WPF" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Archives" Version="$(MicrosoftDotNetBuildTasksArchivesVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero2" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.AeroLite" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Classic" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Luna" />
|
||||
<ExcludeFromDuplicateTypes Include="PresentationFramework.Royale" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- There is a known cycle. More info at https://github.com/dotnet/wpf/issues/607 -->
|
||||
<IgnoredReference Include="PresentationFramework" />
|
||||
<IgnoredReference Include="ReachFramework" />
|
||||
<IgnoredReference Include="System.Printing" />
|
||||
|
||||
<!-- C++/CLI tooling adds an assemblyref to System.Runtime.InteropServices.WindowsRuntime even though it is unused.
|
||||
Ignore validating this reference when we validate the runtime and ref pack closures since we never use the assembly
|
||||
and it was removed in .NET 5.
|
||||
-->
|
||||
<IgnoredReference Include="System.Runtime.InteropServices.WindowsRuntime" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ReturnProductVersion" Returns="$(Version)" />
|
||||
</Project>
|
|
@ -1,38 +1,20 @@
|
|||
<Project>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Sdk Name="Microsoft.DotNet.SharedFramework.Sdk" />
|
||||
<PropertyGroup>
|
||||
<IsFrameworkPackage>true</IsFrameworkPackage>
|
||||
<PlatformPackageType>TargetingPack</PlatformPackageType>
|
||||
<WindowsFormsClassificationProps>$(PkgMicrosoft_Private_Winforms)\FrameworkListFiles.props</WindowsFormsClassificationProps>
|
||||
<RuntimePackProjectPath>$(MSBuildThisFileDirectory)Microsoft.WindowsDesktop.App.Runtime.sfxproj</RuntimePackProjectPath>
|
||||
<ArchiveName>windowsdesktop-targeting-pack</ArchiveName>
|
||||
<InstallerName>windowsdesktop-targeting-pack</InstallerName>
|
||||
<InstallerRuntimeIdentifiers>win-x64;win-x86;win-arm64</InstallerRuntimeIdentifiers>
|
||||
<VSInsertionShortComponentName>WindowsDesktop.TargetingPack</VSInsertionShortComponentName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<FrameworkListName>Windows Desktop $(NETCoreAppFrameworkVersion)</FrameworkListName>
|
||||
<FrameworkListTargetFrameworkIdentifier>$(NETCoreAppFrameworkIdentifier)</FrameworkListTargetFrameworkIdentifier>
|
||||
<FrameworkListTargetFrameworkVersion>$(NETCoreAppFrameworkVersion)</FrameworkListTargetFrameworkVersion>
|
||||
<FrameworkListFrameworkName>$(FrameworkPackageName)</FrameworkListFrameworkName>
|
||||
|
||||
<WindowsFormsClassificationProps>$(NUGET_PACKAGES)\Microsoft.Private.Winforms\$(MicrosoftPrivateWinformsVersion)\FrameworkListFiles.props</WindowsFormsClassificationProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildDebPackage>false</BuildDebPackage>
|
||||
<BuildRpmPackage>false</BuildRpmPackage>
|
||||
<GeneratePkg>false</GeneratePkg>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- C++/CLI tooling adds an assemblyref to System.Runtime.InteropServices.WindowsRuntime even though it is unused.
|
||||
Ignore validating this reference when we validate the runtime and ref pack closures since we never use the assembly
|
||||
and it was removed in .NET 5.
|
||||
-->
|
||||
<ItemGroup>
|
||||
<IgnoredReference Include="System.Runtime.InteropServices.WindowsRuntime" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
shared concerns, these shouldn't generally change
|
||||
for profile information refere to https://github.com/dotnet/cli/issues/10536#issuecomment-488871926
|
||||
-->
|
||||
<ItemGroup Condition="'$(PackageTargetRuntime)' == ''">
|
||||
<ItemGroup>
|
||||
<FrameworkListFileClass Include="Accessibility.dll" Profile="WindowsForms;WPF" />
|
||||
<FrameworkListFileClass Include="Microsoft.Win32.Registry.AccessControl.dll" Profile="WindowsForms;WPF" />
|
||||
<FrameworkListFileClass Include="Microsoft.Win32.Registry.dll" Profile="WindowsForms;WPF" />
|
||||
|
@ -65,7 +47,7 @@
|
|||
<Import Project="$(WindowsFormsClassificationProps)" Condition="Exists('$(WindowsFormsClassificationProps)')" />
|
||||
|
||||
<!-- WPF specific references -->
|
||||
<ItemGroup Condition="'$(PackageTargetRuntime)' == ''">
|
||||
<ItemGroup>
|
||||
<FrameworkListFileClass Include="PresentationCore.dll" Profile="WPF" />
|
||||
<FrameworkListFileClass Include="PresentationFramework.Aero.dll" Profile="WPF" />
|
||||
<FrameworkListFileClass Include="PresentationFramework.Aero2.dll" Profile="WPF" />
|
||||
|
@ -88,10 +70,8 @@
|
|||
<FrameworkListFileClass Include="WindowsBase.dll" Profile="WPF" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Redistribute package content from other nuget packages. -->
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\src\windowsdesktop.depproj">
|
||||
<AdditionalProperties Condition="'$(PackageTargetRuntime)' != ''">RuntimeIdentifier=$(PackageTargetRuntime)</AdditionalProperties>
|
||||
</ProjectReference>
|
||||
<!-- We don't have a ref assembly for DirectWriteForwarder -->
|
||||
<IgnoredReference Include="DirectWriteForwarder" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,10 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Sdk Name="Microsoft.DotNet.SharedFramework.Sdk" />
|
||||
<PropertyGroup>
|
||||
<PlatformPackageType>RuntimePack</PlatformPackageType>
|
||||
<ArchiveName>windowsdesktop-runtime</ArchiveName>
|
||||
<InstallerName>windowsdesktop-runtime</InstallerName>
|
||||
<RuntimeIdentifiers>win-x64;win-x86;win-arm64</RuntimeIdentifiers>
|
||||
<VSInsertionShortComponentName>WindowsDesktop.SharedFramework</VSInsertionShortComponentName>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,29 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<SfxIdentity>Microsoft.WindowsDesktop.App</SfxIdentity>
|
||||
|
||||
<GenerateNetCoreAppRuntimeConfig>true</GenerateNetCoreAppRuntimeConfig>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PkgProjectReference Include="..\pkg\Microsoft.WindowsDesktop.App.pkgproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(MicrosoftNETCoreAppRefVersion)]" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
Keep the platform manifest from the base shared framework. It ensures the WindowsDesktop shared
|
||||
framework doesn't carry runtime assemblies the base framework (NETCoreApp) already provides.
|
||||
-->
|
||||
<Target Name="KeepNETCoreAppPlatformManifest"
|
||||
AfterTargets="RemovePlatformManifests"
|
||||
DependsOnTargets="GetNETCoreAppPackDirs">
|
||||
<ItemGroup>
|
||||
<PackageConflictPlatformManifests Include="$(RefPackageDir)data\PlatformManifest.txt" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageRID Condition="'$(PackageRID)' == ''">$(OutputRid)</PackageRID>
|
||||
|
||||
<!--
|
||||
Only build WindowsDesktop assets if this is on Windows and we know WD assets are available
|
||||
and supported. This lets us skip them on the non-Windows official build legs.
|
||||
-->
|
||||
<BuildOnUnknownPlatforms>false</BuildOnUnknownPlatforms>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<OfficialBuildRID Include="win-x86" Platform="x86" RuntimeMsiExists="true"/>
|
||||
<OfficialBuildRID Include="win-x64" RuntimeMsiExists="true"/>
|
||||
<OfficialBuildRID Include="win-arm64" Platform="arm64" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -10,6 +10,8 @@
|
|||
<InternalNupkgCacheDir>$(ObjDir)ExtraNupkgsForTestRestore\</InternalNupkgCacheDir>
|
||||
<TestArchitectures>$(TargetArchitecture)</TestArchitectures>
|
||||
<TestInfraTargetFramework>net5.0</TestInfraTargetFramework>
|
||||
<!-- Clear the RID for test projects since they should be built rid-agnostic. -->
|
||||
<RuntimeIdentifier></RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
<Target Name="SetupTestContextVariables"
|
||||
DependsOnTargets="
|
||||
GetProductVersions;
|
||||
DetermineTestOutputDirectory"
|
||||
BeforeTargets="Build">
|
||||
<PropertyGroup>
|
||||
|
@ -28,7 +27,7 @@
|
|||
the same as the package's version. Fetch this directly from the project to avoid guesswork.
|
||||
-->
|
||||
<MSBuild
|
||||
Projects="$(RepoRoot)pkg\windowsdesktop\pkg\Microsoft.WindowsDesktop.App.Runtime.pkgproj"
|
||||
Projects="$(RepoRoot)pkg\windowsdesktop\sfx\Microsoft.WindowsDesktop.App.Runtime.sfxproj"
|
||||
Targets="ReturnProductVersion">
|
||||
<Output TaskParameter="TargetOutputs" PropertyName="WindowsDesktopRuntimeVersion" />
|
||||
</MSBuild>
|
||||
|
|
|
@ -35,29 +35,17 @@ namespace Microsoft.DotNet.CoreSetup.Packaging.Tests
|
|||
{
|
||||
id = id ?? project;
|
||||
|
||||
string nuspecPath = Path.Combine(
|
||||
dirs.BaseArtifactsFolder,
|
||||
"packages",
|
||||
dirs.Configuration,
|
||||
"specs",
|
||||
$"{id}.nuspec");
|
||||
|
||||
if (!File.Exists(nuspecPath))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
PackageIdentity builtIdentity = new NuspecReader(nuspecPath).GetIdentity();
|
||||
|
||||
string nupkgPath = Path.Combine(
|
||||
dirs.BaseArtifactsFolder,
|
||||
"packages",
|
||||
dirs.Configuration,
|
||||
"Shipping",
|
||||
$"{builtIdentity}.nupkg");
|
||||
$"{id}.${dirs.MicrosoftNETCoreAppVersion}.nupkg");
|
||||
|
||||
// If the nuspec exists, the nupkg should exist.
|
||||
Assert.True(File.Exists(nupkgPath));
|
||||
if (!File.Exists(nupkgPath))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return new NuGetArtifactTester(nupkgPath);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<BuildCustomTasksForDesktop Condition="'$(MSBuildRuntimeType)' != 'Core'">true</BuildCustomTasksForDesktop>
|
||||
<!-- Clear the RID for the tools-local projects since they should be built rid-agnostic. -->
|
||||
<RuntimeIdentifier></RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
Загрузка…
Ссылка в новой задаче