Installer updates (Merge to SDK Changeset) (#17959)
This commit is contained in:
commit
899cd0fdb3
209 changed files with 986 additions and 1713 deletions
|
@ -41,7 +41,7 @@ dotnet_style_qualification_for_event = false:suggestion
|
|||
# only use var when it's obvious what the variable type is
|
||||
csharp_style_var_for_built_in_types = false:none
|
||||
csharp_style_var_when_type_is_apparent = false:none
|
||||
csharp_style_var_elsewhere = false:suggestion
|
||||
csharp_style_var_elsewhere = false:none
|
||||
|
||||
# use language keywords instead of BCL types
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
||||
|
|
20
.gitattributes
vendored
20
.gitattributes
vendored
|
@ -1,13 +1,13 @@
|
|||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
*.doc binary
|
||||
*.DOC binary
|
||||
*.docx binary
|
||||
*.DOCX binary
|
||||
*.dot binary
|
||||
*.DOT binary
|
||||
*.pdf binary
|
||||
*.PDF binary
|
||||
*.rtf binary
|
||||
*.RTF binary
|
||||
|
||||
*.jpg binary
|
||||
*.png binary
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
<PropertyGroup Condition="'$(CopyrightNetFoundation)' != ''">
|
||||
<Copyright>$(CopyrightNetFoundation)</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
</PropertyGroup>
|
||||
<!-- Platform needs to be set with TreatAsLocalProperty since it is a global property and cannot be overridden otherwise. -->
|
||||
<Project TreatAsLocalProperty="Platform">
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildArchitecture Condition="'$(BuildArchitecture)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
|
||||
|
@ -14,7 +9,24 @@
|
|||
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Architecture>
|
||||
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'loongarch64'">$(BuildArchitecture)</Architecture>
|
||||
<Architecture Condition="'$(Architecture)' == ''">x64</Architecture>
|
||||
|
||||
<!--
|
||||
The finalizer project needs to have Platform set to build for the correct architecture.
|
||||
Platform needs to be set prior to calling the Arcade SDK, which sets PlatformName in RepoDefaults.props and modifies the OutputPath in ProjectLayout.props to include a PlatformName folder in the path.
|
||||
Currently, build.cmd calls run-build.ps1, which always sets the Architecture.
|
||||
However, if you wanted to build the finalizer project directly, the Architecture will use the logic above to be set properly, and thus maintain the correct OutputPath.
|
||||
Note: The redist project does use Architecture. The Arcade SDK does not use either BuildArchitecture or Architecture.
|
||||
-->
|
||||
<Platform Condition="'$(SetPlatformFromArchitecture)' == 'true' And ('$(Platform)' == '' Or '$(Platform)' == 'AnyCPU')">$(Architecture)</Platform>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
<PropertyGroup Condition="'$(CopyrightNetFoundation)' != ''">
|
||||
<Copyright>$(CopyrightNetFoundation)</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(PgoInstrument)' == 'true'">
|
||||
<SkipBuildingInstallers>true</SkipBuildingInstallers>
|
||||
<PgoTerm>-pgo</PgoTerm>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28603.18
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.8.34112.27
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}"
|
||||
EndProject
|
||||
|
@ -15,8 +15,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "core-sdk-tasks", "src\core-
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Tests.Utilities", "test\Microsoft.DotNet.Tools.Tests.Utilities\Microsoft.DotNet.Tools.Tests.Utilities.csproj", "{78E15EC1-7732-41E3-8591-934E9F583254}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkResolver", "src\SdkResolver\SdkResolver.csproj", "{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Dotnet.Sdk.Internal", "src\Microsoft.Dotnet.Sdk.Internal\Microsoft.Dotnet.Sdk.Internal.csproj", "{73F07908-981B-41BB-B9BD-F3420274A6F7}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkTests", "test\SdkTests\SdkTests.csproj", "{CB1EE94E-CB83-4071-9DD0-9929AE2B7282}"
|
||||
|
@ -45,10 +43,6 @@ Global
|
|||
{78E15EC1-7732-41E3-8591-934E9F583254}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{78E15EC1-7732-41E3-8591-934E9F583254}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{78E15EC1-7732-41E3-8591-934E9F583254}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
@ -70,7 +64,6 @@ Global
|
|||
{1BFF54F9-4E35-49DB-893C-AF2047722FC6} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{53AF2D01-B69F-4CD0-86A7-8FD95967D23C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{78E15EC1-7732-41E3-8591-934E9F583254} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{CB1EE94E-CB83-4071-9DD0-9929AE2B7282} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{658EF9BE-452C-4D31-AA24-B9E2235799A8} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
EndGlobalSection
|
||||
|
|
48
Native.sln
48
Native.sln
|
@ -1,48 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28603.18
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "finalizer_shim", "src\finalizer_shim\finalizer_shim.csproj", "{688E2883-C5A9-4D66-A207-772C9160989C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|arm64 = Debug|arm64
|
||||
Debug|arm = Debug|arm
|
||||
Release|x86 = Release|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|arm64 = Release|arm64
|
||||
Release|arm = Release|arm
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x86.Build.0 = Debug|x86
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x64.Build.0 = Debug|x64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.ActiveCfg = Debug|arm
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.Build.0 = Debug|arm
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.ActiveCfg = Release|x86
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.Build.0 = Release|x86
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.ActiveCfg = Release|x64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.Build.0 = Release|x64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.Build.0 = Release|arm64
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.ActiveCfg = Release|arm
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.Build.0 = Release|arm
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{688E2883-C5A9-4D66-A207-772C9160989C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {18FCFCA3-D1A8-4D3A-9763-6A658D0D726F}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,12 +1,10 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<_SuppressSdkImports>false</_SuppressSdkImports>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PopulateGenerateChecksumItems"
|
||||
AfterTargets="Build"
|
||||
BeforeTargets="GenerateChecksums" >
|
||||
|
||||
<Target Name="PopulateGenerateChecksumItems" AfterTargets="Build" BeforeTargets="GenerateChecksums">
|
||||
<ItemGroup>
|
||||
<InstallerFiles Include="$(ArtifactsShippingPackagesDir)**\*.msi" />
|
||||
<InstallerFiles Include="$(ArtifactsShippingPackagesDir)**\*.exe" />
|
||||
|
@ -21,4 +19,5 @@
|
|||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -12,9 +12,8 @@
|
|||
<!-- Regular build -->
|
||||
<ItemGroup>
|
||||
<ProjectToBuild Include="$(RepoRoot)Microsoft.DotNet.Cli.sln" />
|
||||
<ProjectToBuild Condition="'$(OS)' == 'Windows_NT' And ('$(Architecture)' == 'x86' Or '$(Architecture)' == 'x64' Or '$(Architecture)' == 'arm64' Or '$(Architecture)' == 'arm')"
|
||||
Include="$(RepoRoot)eng\version.csproj;
|
||||
$(RepoRoot)eng\native.proj" />
|
||||
<ProjectToBuild Condition="'$(OS)' == 'Windows_NT' And ('$(Architecture)' == 'x86' Or '$(Architecture)' == 'x64' Or '$(Architecture)' == 'arm64')"
|
||||
Include="$(RepoRoot)src\finalizer\finalizer-build.csproj" />
|
||||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project>
|
||||
|
||||
<!-- The following properties (unlike those in version.props) are maintained manually. So
|
||||
<!--
|
||||
The following properties (unlike those in version.props) are maintained manually. So
|
||||
when there is a merge conflict, the highest version should generally be chosen, rather
|
||||
than keeping what's in the branch, which is the usual strategy with version.props merge
|
||||
conflicts.
|
||||
|
@ -16,4 +16,5 @@
|
|||
<MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>10.0.22000.31</MicrosoftWindowsSDKNETRef10_0_22000PackageVersion>
|
||||
<MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>10.0.22621.31</MicrosoftWindowsSDKNETRef10_0_22621PackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -92,11 +92,8 @@
|
|||
<Target Name="PublishSdkAssetsAndChecksums"
|
||||
BeforeTargets="Publish"
|
||||
Condition="$(DotNetPublishUsingPipelines)">
|
||||
|
||||
<ReadLinesFromFile File="$(ArtifactsTmpDir)FullNugetVersion.version">
|
||||
<Output
|
||||
TaskParameter="Lines"
|
||||
PropertyName="FullNugetVersion"/>
|
||||
<Output TaskParameter="Lines" PropertyName="FullNugetVersion" />
|
||||
</ReadLinesFromFile>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
custom publishing target. And should not be picked up by arcade's default publishing logic. -->
|
||||
<ItemsToSignPostBuild Remove="*.wixpack.zip" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(PostBuildSign)' != 'true'">
|
||||
<ItemsToSign Remove="@(ItemsToSign)" />
|
||||
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.exe" />
|
||||
|
@ -17,10 +18,7 @@
|
|||
<ExternalCertificateId Condition="'$(ExternalCertificateId)' == ''">3PartySHA2</ExternalCertificateId>
|
||||
<InternalCertificateId Condition="'$(InternalCertificateId)' == ''">MicrosoftDotNet500</InternalCertificateId>
|
||||
|
||||
<!--
|
||||
Signing of shipping artifacts (layout, msi, bundle) are handled separately.
|
||||
It is therefore expected that <ItemsToSign> could be an empty set.
|
||||
-->
|
||||
<!-- Signing of shipping artifacts (layout, msi, bundle) are handled separately. It is therefore expected that <ItemsToSign> could be an empty set. -->
|
||||
<AllowEmptySignList>true</AllowEmptySignList>
|
||||
<AllowEmptySignPostBuildList>true</AllowEmptySignPostBuildList>
|
||||
|
||||
|
@ -33,6 +31,7 @@
|
|||
<FileSignInfo Include="MessagePack.dll" CertificateName="$(ExternalCertificateId)" />
|
||||
<FileSignInfo Include="Nerdbank.Streams.dll" CertificateName="$(ExternalCertificateId)" />
|
||||
<FileSignInfo Include="StreamJsonRpc.dll" CertificateName="$(ExternalCertificateId)" />
|
||||
<FileSignInfo Include="Valleysoft.DockerCredsProvider.dll" CertificateName="$(ExternalCertificateId)" />
|
||||
|
||||
<!-- Files in the layout that should not be signed -->
|
||||
<FileSignInfo Include="apphost.exe" CertificateName="None" />
|
||||
|
|
|
@ -71,9 +71,9 @@
|
|||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.4.24205.2</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.4.24205.2</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.4.24205.2</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
|
||||
<dotnetdevcertsPackageVersion>9.0.0-preview.4.24205.2</dotnetdevcertsPackageVersion>
|
||||
<dotnetuserjwtsPackageVersion>9.0.0-preview.4.24205.2</dotnetuserjwtsPackageVersion>
|
||||
<dotnetusersecretsPackageVersion>9.0.0-preview.4.24205.2</dotnetusersecretsPackageVersion>
|
||||
<DotnetDevCertsPackageVersion>9.0.0-preview.4.24205.2</DotnetDevCertsPackageVersion>
|
||||
<DotnetUserJwtsPackageVersion>9.0.0-preview.4.24205.2</DotnetUserJwtsPackageVersion>
|
||||
<DotnetUserSecretsPackageVersion>9.0.0-preview.4.24205.2</DotnetUserSecretsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
||||
|
@ -112,8 +112,7 @@
|
|||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.4.24204.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
|
||||
<!-- version above and create aliases without the winx64 here for clarity elsewhere. -->
|
||||
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 version above and create aliases without the winx64 here for clarity elsewhere. -->
|
||||
<MicrosoftNETCoreAppHostPackageVersion>$(MicrosoftNETCoreAppHostwinx64PackageVersion)</MicrosoftNETCoreAppHostPackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimePackageVersion>$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)</MicrosoftNETCoreAppRuntimePackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimePackageVersion>$(MicrosoftAspNetCoreAppRuntimewinx64PackageVersion)</MicrosoftAspNetCoreAppRuntimePackageVersion>
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Platform Condition="'$(Platform)'=='' Or $(Platform)=='AnyCPU'">$(Architecture)</Platform>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="$(RepoRoot)Native.sln" Properties="Platform=$(Platform)" Targets="Restore;Build" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Test" />
|
||||
<Target Name="Pack" />
|
||||
<Target Name="Rebuild" />
|
||||
<Target Name="IntegrationTest" />
|
||||
<Target Name="PerformanceTest" />
|
||||
</Project>
|
|
@ -1,8 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(CoreSdkTargetFramework)</TargetFramework>
|
||||
<NativeVersionFile>$(ArtifactsObjDir)sdk_version.h</NativeVersionFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GenerateSdkVersionFile" BeforeTargets="CoreCompile" DependsOnTargets="GenerateNativeVersionFile" />
|
||||
</Project>
|
|
@ -12,6 +12,6 @@
|
|||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24203.1",
|
||||
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24203.1"
|
||||
}
|
||||
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24203.1",
|
||||
"Microsoft.Build.NoTargets": "3.7.0" }
|
||||
}
|
||||
|
|
|
@ -24,9 +24,6 @@ if ($PgoInstrument) {
|
|||
|
||||
if ($Sign) {
|
||||
$Parameters = "$Parameters -sign /p:SignCoreSdk=true"
|
||||
|
||||
# Workaround https://github.com/dotnet/arcade/issues/1776
|
||||
$WarnAsError = $false
|
||||
}
|
||||
|
||||
$Parameters = "$Parameters -WarnAsError `$$WarnAsError"
|
||||
|
|
|
@ -82,12 +82,12 @@ src/fsharp/setup/resources/eula/*.rtf
|
|||
|
||||
# False positive
|
||||
src/installer/src/core-sdk-tasks/BuildFPMToolPreReqs.cs|json
|
||||
src/installer/src/redist/targets/packaging/osx/clisdk/resources/en.lproj/welcome.html|cecill-c
|
||||
src/installer/src/redist/packaging/osx/resources/en.lproj/welcome.html|cecill-c
|
||||
src/installer/THIRD-PARTY-NOTICES|proprietary-license
|
||||
|
||||
# Configuration, doesn't apply to source directly
|
||||
src/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
|
||||
src/installer/src/redist/targets/packaging/**/*.json
|
||||
src/installer/src/redist/packaging/**/*.json
|
||||
|
||||
#
|
||||
# msbuild
|
||||
|
|
|
@ -27,15 +27,8 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
var resultItem = new TaskItem(item);
|
||||
item.CopyMetadataTo(resultItem);
|
||||
|
||||
if (File.Exists(resultItem.GetMetadata("FullPath")) &&
|
||||
HasMetadata(resultItem.GetMetadata("FullPath")))
|
||||
{
|
||||
resultItem.SetMetadata("IsPE", "True");
|
||||
}
|
||||
else
|
||||
{
|
||||
resultItem.SetMetadata("IsPE", "False");
|
||||
}
|
||||
var isPe = File.Exists(resultItem.GetMetadata("FullPath")) && HasMetadata(resultItem.GetMetadata("FullPath"));
|
||||
resultItem.SetMetadata("IsPE", isPe.ToString());
|
||||
|
||||
resultItemsList.Add(resultItem);
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
private const string s_dotnetBlobContainerName = "dotnet";
|
||||
|
||||
private string _connectionString { get; set; }
|
||||
private string _containerName { get; set; }
|
||||
private CloudBlobContainer _blobContainer { get; set; }
|
||||
|
||||
|
@ -41,14 +40,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{
|
||||
var storageCredentials = new StorageCredentials(accountName, accountKey);
|
||||
var storageAccount = new CloudStorageAccount(storageCredentials, true);
|
||||
return GetDotnetBlobContainer(storageAccount, containerName);
|
||||
}
|
||||
|
||||
private CloudBlobContainer GetDotnetBlobContainer(CloudStorageAccount storageAccount, string containerName)
|
||||
{
|
||||
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
|
||||
|
||||
return blobClient.GetContainerReference(containerName);
|
||||
return storageAccount.CreateCloudBlobClient().GetContainerReference(containerName);
|
||||
}
|
||||
|
||||
public string UploadFile(string file, Product product, string version)
|
||||
|
@ -105,11 +97,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
}
|
||||
}
|
||||
|
||||
public IEnumerable<string> ListBlobs(Product product, string version)
|
||||
{
|
||||
string virtualDirectory = $"{product}/{version}";
|
||||
return ListBlobs(virtualDirectory);
|
||||
}
|
||||
public IEnumerable<string> ListBlobs(Product product, string version) => ListBlobs($"{product}/{version}");
|
||||
|
||||
public IEnumerable<string> ListBlobs(string virtualDirectory)
|
||||
{
|
||||
|
@ -120,10 +108,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
return blobFiles.Results.Select(bf => bf.Uri.PathAndQuery.Replace($"/{_containerName}/", string.Empty));
|
||||
}
|
||||
|
||||
public string AcquireLeaseOnBlob(
|
||||
string blob,
|
||||
TimeSpan? maxWaitDefault = null,
|
||||
TimeSpan? delayDefault = null)
|
||||
public string AcquireLeaseOnBlob(string blob, TimeSpan? maxWaitDefault = null, TimeSpan? delayDefault = null)
|
||||
{
|
||||
TimeSpan maxWait = maxWaitDefault ?? TimeSpan.FromSeconds(120);
|
||||
TimeSpan delay = delayDefault ?? TimeSpan.FromMilliseconds(500);
|
||||
|
@ -194,26 +179,18 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
try
|
||||
{
|
||||
DeleteBlob(path);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine($"Deleting blob {path} failed with \r\n{e.Message}");
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteBlob(string path)
|
||||
{
|
||||
_blobContainer.GetBlockBlobReference(path).DeleteAsync().Wait();
|
||||
}
|
||||
private void DeleteBlob(string path) => _blobContainer.GetBlockBlobReference(path).DeleteAsync().Wait();
|
||||
|
||||
private static string CalculateRelativePathForFile(string file, Product product, string version)
|
||||
{
|
||||
return $"{product}/{version}/{Path.GetFileName(file)}";
|
||||
}
|
||||
private static string CalculateRelativePathForFile(string file, Product product, string version) => $"{product}/{version}/{Path.GetFileName(file)}";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -6,7 +6,6 @@ using System.Collections.Generic;
|
|||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.Build.Framework;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
@ -116,32 +115,29 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
// --verbose : Set verbose output for FPM tool --Static
|
||||
// <All folder mappings> : Add all the folder mappings for package_root, docs, man pages --Static
|
||||
|
||||
var parameters = new List<string>();
|
||||
parameters.Add("-s dir");
|
||||
parameters.Add("-t rpm");
|
||||
parameters.Add(string.Concat("-n ", configJson.Package_Name));
|
||||
parameters.Add(string.Concat("-v ", package_version));
|
||||
parameters.Add(string.Concat("-a ", configJson.Control.Architecture));
|
||||
var parameters = new List<string>
|
||||
{
|
||||
"-s dir",
|
||||
"-t rpm",
|
||||
string.Concat("-n ", configJson.Package_Name),
|
||||
string.Concat("-v ", package_version),
|
||||
string.Concat("-a ", configJson.Control.Architecture)
|
||||
};
|
||||
|
||||
// Build the list of dependencies as -d <dep1> -d <dep2>
|
||||
if (configJson.Rpm_Dependencies != null)
|
||||
{
|
||||
foreach (RpmDependency rpmdep in configJson.Rpm_Dependencies)
|
||||
{
|
||||
string dependency = "";
|
||||
if (rpmdep.Package_Name != "")
|
||||
{
|
||||
// If no version is specified then the dependency is just the package without >= check
|
||||
if (rpmdep.Package_Version == "")
|
||||
{
|
||||
dependency = rpmdep.Package_Name;
|
||||
string dependency = rpmdep.Package_Version != "" ?
|
||||
string.Concat(rpmdep.Package_Name, " >= ", rpmdep.Package_Version) :
|
||||
rpmdep.Package_Name;
|
||||
|
||||
parameters.Add(string.Concat("-d ", EscapeArg(dependency)));
|
||||
}
|
||||
else
|
||||
{
|
||||
dependency = string.Concat(rpmdep.Package_Name, " >= ", rpmdep.Package_Version);
|
||||
}
|
||||
}
|
||||
if (dependency != "") parameters.Add(string.Concat("-d ", EscapeArg(dependency)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,14 +179,11 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
|
||||
// Map all the payload directories as they need to install on the system
|
||||
if (configJson.Install_Root != null)
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "package_root/="),
|
||||
configJson.Install_Root)); // Package Files
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "package_root/="), configJson.Install_Root)); // Package Files
|
||||
if (configJson.Install_Man != null)
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "docs", "host/="),
|
||||
configJson.Install_Man)); // Man Pages
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "docs", "host/="), configJson.Install_Man)); // Man Pages
|
||||
if (configJson.Install_Doc != null)
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "templates", "copyright="),
|
||||
configJson.Install_Doc)); // CopyRight File
|
||||
parameters.Add(string.Concat(Path.Combine(InputDir, "templates", "copyright="), configJson.Install_Doc)); // CopyRight File
|
||||
|
||||
return string.Join(" ", parameters);
|
||||
}
|
||||
|
@ -220,14 +213,12 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
{
|
||||
sb.Append('\\', 2 * backslashCount);
|
||||
}
|
||||
|
||||
// Escape any preceding backslashes and the quote
|
||||
else if (arg[i] == '"')
|
||||
{
|
||||
sb.Append('\\', (2 * backslashCount) + 1);
|
||||
sb.Append('"');
|
||||
}
|
||||
|
||||
// Output any consumed backslashes and the character
|
||||
else
|
||||
{
|
||||
|
@ -255,6 +246,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
[Required]
|
||||
public int CombinedBuildNumberAndRevision { get; set; }
|
||||
|
||||
|
||||
// Should be the BundledTemplates with BundledTemplateInstallPath metadata set to the value calculated for that group
|
||||
[Output]
|
||||
public ITaskItem [] BundledTemplatesWithInstallPaths { get; set; }
|
||||
|
@ -39,11 +38,10 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
// TemplatesMajorMinorVersion: 6.0 (from BundledTemplateMajorMinorVersion from group)
|
||||
// InstallerUpgradeCode: Guid generated using GenerateGuidFromName, combining TemplateBaseFilename, FullNugetVersion, ProductMonikerRid, and InstallerExtension
|
||||
// MSIVersion: Result of calling GenerateMsiVersionFromFullVersion logic with CombinedBuildNumberAndRevision and BundledTemplateMajorMinorPatchVersion from template group
|
||||
|
||||
[Output]
|
||||
public ITaskItem [] TemplatesComponents { get; set; }
|
||||
|
||||
private const int _patchVersionResetOffset = 1;
|
||||
private const int PatchVersionResetOffset = 1;
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
|
@ -62,20 +60,20 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
BundledTemplatesWithInstallPaths = BundledTemplates.Select(t =>
|
||||
{
|
||||
var templateWithInstallPath = new TaskItem(t);
|
||||
templateWithInstallPath.SetMetadata("BundledTemplateInstallPath", groups[t.GetMetadata("TemplateFrameworkVersion")].BundledTemplateInstallPath);
|
||||
templateWithInstallPath.SetMetadata("BundledTemplateInstallPath", groups[t.GetMetadata("TemplateFrameworkVersion")].InstallPath);
|
||||
return templateWithInstallPath;
|
||||
}).ToArray();
|
||||
|
||||
TemplatesComponents = groups.Select(g =>
|
||||
{
|
||||
string majorMinorWithoutDots = g.Value.BundledTemplateMajorMinorVersion.Replace(".", "");
|
||||
string majorMinorWithoutDots = g.Value.MajorMinorVersion.Replace(".", "");
|
||||
var componentItem = new TaskItem($"NetCore{majorMinorWithoutDots}Templates");
|
||||
var templateBaseFilename = $"dotnet-{majorMinorWithoutDots}templates";
|
||||
componentItem.SetMetadata("TemplateBaseFilename", templateBaseFilename);
|
||||
componentItem.SetMetadata("TemplatesMajorMinorVersion", g.Value.BundledTemplateMajorMinorVersion);
|
||||
componentItem.SetMetadata("TemplatesMajorMinorVersion", g.Value.MajorMinorVersion);
|
||||
var installerUpgradeCode = GenerateGuidFromName.GenerateGuid(string.Join("-", templateBaseFilename, FullNugetVersion, ProductMonikerRid) + InstallerExtension).ToString().ToUpper();
|
||||
componentItem.SetMetadata("InstallerUpgradeCode", installerUpgradeCode);
|
||||
componentItem.SetMetadata("MSIVersion", GenerateMsiVersionFromFullVersion.GenerateMsiVersion(CombinedBuildNumberAndRevision, g.Value.BundledTemplateMajorMinorPatchVersion));
|
||||
componentItem.SetMetadata("MSIVersion", GenerateMsiVersionFromFullVersion.GenerateMsiVersion(CombinedBuildNumberAndRevision, g.Value.MajorMinorPatchVersion));
|
||||
|
||||
var brandName = System.Version.Parse(g.Key).Major >= 5 ?
|
||||
$"Microsoft .NET {g.Key} Templates" :
|
||||
|
@ -89,24 +87,20 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
return true;
|
||||
}
|
||||
|
||||
public static
|
||||
(string BundledTemplateInstallPath,
|
||||
string BundledTemplateMajorMinorVersion,
|
||||
string BundledTemplateMajorMinorPatchVersion)
|
||||
Calculate(string aspNetCorePackageVersionTemplate)
|
||||
public static BundledTemplate Calculate(string aspNetCorePackageVersionTemplate)
|
||||
{
|
||||
var aspNetCoreTemplate = NuGetVersion.Parse(aspNetCorePackageVersionTemplate);
|
||||
|
||||
NuGetVersion baseMajorMinorPatch = GetBaseMajorMinorPatch(aspNetCoreTemplate);
|
||||
|
||||
string bundledTemplateInstallPath = aspNetCoreTemplate.IsPrerelease
|
||||
? $"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}.{baseMajorMinorPatch.Patch}-{aspNetCoreTemplate.Release}"
|
||||
: $"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}.{baseMajorMinorPatch.Patch}";
|
||||
|
||||
return (
|
||||
bundledTemplateInstallPath,
|
||||
$"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}",
|
||||
$"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}.{baseMajorMinorPatch.Patch}");
|
||||
return new BundledTemplate
|
||||
{
|
||||
InstallPath = bundledTemplateInstallPath,
|
||||
MajorMinorVersion = $"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}",
|
||||
MajorMinorPatchVersion = $"{baseMajorMinorPatch.Major}.{baseMajorMinorPatch.Minor}.{baseMajorMinorPatch.Patch}"
|
||||
};
|
||||
}
|
||||
|
||||
private static NuGetVersion GetBaseMajorMinorPatch(NuGetVersion aspNetCoreTemplate)
|
||||
|
@ -116,15 +110,17 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
// more in the above bug's detail.
|
||||
// There is no non-deterministic existing ComponentId under Major version 5.
|
||||
// so only apply the patch bump when below 5
|
||||
int basePatch = aspNetCoreTemplate.Major < 5 ?
|
||||
aspNetCoreTemplate.Patch + PatchVersionResetOffset :
|
||||
aspNetCoreTemplate.Patch;
|
||||
return new NuGetVersion(aspNetCoreTemplate.Major, aspNetCoreTemplate.Minor, basePatch);
|
||||
}
|
||||
}
|
||||
|
||||
int basePatch =
|
||||
aspNetCoreTemplate.Major < 5
|
||||
? aspNetCoreTemplate.Patch + _patchVersionResetOffset
|
||||
: aspNetCoreTemplate.Patch;
|
||||
|
||||
var baseMajorMinorPatch = new NuGetVersion(aspNetCoreTemplate.Major, aspNetCoreTemplate.Minor,
|
||||
basePatch);
|
||||
return baseMajorMinorPatch;
|
||||
}
|
||||
public class BundledTemplate
|
||||
{
|
||||
public string InstallPath { get; set; }
|
||||
public string MajorMinorVersion { get; set; }
|
||||
public string MajorMinorPatchVersion { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,44 +16,18 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
public bool Recursive { get; set; }
|
||||
|
||||
protected override string ToolName
|
||||
{
|
||||
get { return "chmod"; }
|
||||
}
|
||||
protected override string ToolName => "chmod";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
get { return MessageImportance.High; } // or else the output doesn't get logged by default
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
return "chmod";
|
||||
}
|
||||
protected override string GenerateFullPathToTool() => "chmod";
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
return $"{GetRecursive()} {GetMode()} {GetGlob()}";
|
||||
}
|
||||
protected override string GenerateCommandLineCommands() => $"{GetRecursive()} {GetMode()} {GetGlob()}";
|
||||
|
||||
private string GetGlob()
|
||||
{
|
||||
return Glob;
|
||||
}
|
||||
private string GetGlob() => Glob;
|
||||
|
||||
private string GetMode()
|
||||
{
|
||||
return Mode;
|
||||
}
|
||||
private string GetMode() => Mode;
|
||||
|
||||
private string GetRecursive()
|
||||
{
|
||||
if(Recursive)
|
||||
{
|
||||
return "--recursive";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
private string GetRecursive() => Recursive ? "--recursive" : null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.Framework
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
//public static readonly string ProjectFileName = "project.json";
|
||||
public static readonly string ExeSuffix = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : string.Empty;
|
||||
}
|
||||
}
|
|
@ -2,8 +2,6 @@
|
|||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.Build.Framework;
|
||||
|
@ -63,12 +61,12 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
|
||||
if (toolResult)
|
||||
{
|
||||
var files = System.IO.Directory.GetFiles(Path.GetDirectoryName(TempOutputPath));
|
||||
var dest = Path.GetDirectoryName(DestinationPath);
|
||||
var files = Directory.GetFiles(Path.GetDirectoryName(TempOutputPath));
|
||||
var destination = Path.GetDirectoryName(DestinationPath);
|
||||
// Copy both dll and pdb files to the destination folder
|
||||
foreach(var file in files)
|
||||
{
|
||||
File.Copy(file, Path.Combine(dest, Path.GetFileName(file)), overwrite: true);
|
||||
File.Copy(file, Path.Combine(destination, Path.GetFileName(file)), overwrite: true);
|
||||
// Delete file in temp
|
||||
File.Delete(file);
|
||||
}
|
||||
|
@ -83,22 +81,13 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
return toolResult;
|
||||
}
|
||||
|
||||
protected override string ToolName
|
||||
{
|
||||
get { return "crossgen2"; }
|
||||
}
|
||||
protected override string ToolName => "crossgen2";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
// Default is low, but we want to see output at normal verbosity.
|
||||
get { return MessageImportance.Normal; }
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.Normal;
|
||||
|
||||
protected override MessageImportance StandardErrorLoggingImportance
|
||||
{
|
||||
// This turns stderr messages into msbuild errors below.
|
||||
get { return MessageImportance.High; }
|
||||
}
|
||||
protected override MessageImportance StandardErrorLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override void LogEventsFromTextOutput(string singleLine, MessageImportance messageImportance)
|
||||
{
|
||||
|
@ -124,56 +113,21 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
}
|
||||
}
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
if (CrossgenPath != null)
|
||||
{
|
||||
return CrossgenPath;
|
||||
}
|
||||
protected override string GenerateFullPathToTool() => CrossgenPath ?? "crossgen2";
|
||||
|
||||
return "crossgen2";
|
||||
}
|
||||
protected override string GenerateCommandLineCommands() => $"{GetInPath()} {GetOutPath()} {GetArchitecture()} {GetPlatformAssemblyPaths()} {GetCreateSymbols()}";
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
return $"{GetInPath()} {GetOutPath()} {GetArchitecture()} {GetPlatformAssemblyPaths()} {GetCreateSymbols()}";
|
||||
}
|
||||
private string GetArchitecture() => $"--targetarch {Architecture}";
|
||||
|
||||
private string GetArchitecture()
|
||||
{
|
||||
return $"--targetarch {Architecture}";
|
||||
}
|
||||
private string GetCreateSymbols() => RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "--pdb" : "--perfmap";
|
||||
|
||||
private string GetCreateSymbols()
|
||||
{
|
||||
var option = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "--pdb" : "--perfmap";
|
||||
return $"{option}";
|
||||
}
|
||||
private string GetInPath() => $"\"{SourceAssembly}\"";
|
||||
|
||||
private string GetReadyToRun()
|
||||
{
|
||||
if (ReadyToRun)
|
||||
{
|
||||
return "-readytorun";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private string GetInPath()
|
||||
{
|
||||
return $"\"{SourceAssembly}\"";
|
||||
}
|
||||
|
||||
private string GetOutPath()
|
||||
{
|
||||
return $"-o \"{TempOutputPath}\"";
|
||||
}
|
||||
private string GetOutPath() => $"-o \"{TempOutputPath}\"";
|
||||
|
||||
private string GetPlatformAssemblyPaths()
|
||||
{
|
||||
var platformAssemblyPaths = String.Empty;
|
||||
|
||||
var platformAssemblyPaths = string.Empty;
|
||||
if (PlatformAssemblyPaths != null)
|
||||
{
|
||||
foreach (var excludeTaskItem in PlatformAssemblyPaths)
|
||||
|
@ -185,14 +139,6 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
return platformAssemblyPaths;
|
||||
}
|
||||
|
||||
private string GetMissingDependenciesOk()
|
||||
{
|
||||
return "-MissingDependenciesOK";
|
||||
}
|
||||
|
||||
protected override void LogToolCommand(string message)
|
||||
{
|
||||
base.LogToolCommand($"{base.GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
protected override void LogToolCommand(string message) => base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,50 +25,30 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
protected override string ToolName => "package_tool.sh";
|
||||
|
||||
private string GetInputDir()
|
||||
{
|
||||
return $"-i {InputDirectory}";
|
||||
}
|
||||
private string GetInputDir() => $"-i {InputDirectory}";
|
||||
|
||||
private string GetOutputFile()
|
||||
{
|
||||
return $"-o {OutputDirectory}";
|
||||
}
|
||||
private string GetOutputFile() => $"-o {OutputDirectory}";
|
||||
|
||||
private string GetPackageName()
|
||||
{
|
||||
return $"-n {PackageName}";
|
||||
}
|
||||
private string GetPackageName() => $"-n {PackageName}";
|
||||
|
||||
private string GetPackageVersion()
|
||||
{
|
||||
return $"-v {PackageVersion}";
|
||||
}
|
||||
private string GetPackageVersion() => $"-v {PackageVersion}";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
get { return MessageImportance.High; } // or else the output doesn't get logged by default
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
string path = ToolPath;
|
||||
|
||||
// if ToolPath was not provided by the MSBuild script
|
||||
if (string.IsNullOrEmpty(path))
|
||||
if (string.IsNullOrEmpty(ToolPath))
|
||||
{
|
||||
Log.LogError($"Could not find the Path to {ToolName}");
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return path;
|
||||
return ToolPath;
|
||||
}
|
||||
|
||||
protected override string GetWorkingDirectory()
|
||||
{
|
||||
return WorkingDirectory ?? base.GetWorkingDirectory();
|
||||
}
|
||||
protected override string GetWorkingDirectory() => WorkingDirectory ?? base.GetWorkingDirectory();
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
|
@ -79,26 +59,13 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
return commandLineCommands;
|
||||
}
|
||||
|
||||
protected override void LogToolCommand(string message)
|
||||
{
|
||||
base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
protected override void LogToolCommand(string message) => base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
|
||||
protected override void LogEventsFromTextOutput(string singleLine, MessageImportance messageImportance)
|
||||
{
|
||||
Log.LogMessage(messageImportance, singleLine, null);
|
||||
}
|
||||
protected override void LogEventsFromTextOutput(string singleLine, MessageImportance messageImportance) => Log.LogMessage(messageImportance, singleLine, null);
|
||||
|
||||
protected override ProcessStartInfo GetProcessStartInfo(
|
||||
string pathToTool,
|
||||
string commandLineCommands,
|
||||
string responseFileSwitch)
|
||||
protected override ProcessStartInfo GetProcessStartInfo(string pathToTool, string commandLineCommands, string responseFileSwitch)
|
||||
{
|
||||
var psi = base.GetProcessStartInfo(
|
||||
pathToTool,
|
||||
commandLineCommands,
|
||||
responseFileSwitch);
|
||||
|
||||
var psi = base.GetProcessStartInfo(pathToTool, commandLineCommands, responseFileSwitch);
|
||||
foreach (var environmentVariableName in new EnvironmentFilter().GetEnvironmentVariableNamesToRemove())
|
||||
{
|
||||
psi.Environment.Remove(environmentVariableName);
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Diagnostics;
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
||||
using Microsoft.DotNet.Cli.Build.Framework;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build
|
||||
|
@ -19,16 +18,9 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
protected abstract string Args { get; }
|
||||
|
||||
protected override ProcessStartInfo GetProcessStartInfo(
|
||||
string pathToTool,
|
||||
string commandLineCommands,
|
||||
string responseFileSwitch)
|
||||
protected override ProcessStartInfo GetProcessStartInfo(string pathToTool, string commandLineCommands, string responseFileSwitch)
|
||||
{
|
||||
var psi = base.GetProcessStartInfo(
|
||||
pathToTool,
|
||||
commandLineCommands,
|
||||
responseFileSwitch);
|
||||
|
||||
var psi = base.GetProcessStartInfo(pathToTool, commandLineCommands, responseFileSwitch);
|
||||
foreach (var environmentVariableName in new EnvironmentFilter().GetEnvironmentVariableNamesToRemove())
|
||||
{
|
||||
psi.Environment.Remove(environmentVariableName);
|
||||
|
@ -39,35 +31,24 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
public string WorkingDirectory { get; set; }
|
||||
|
||||
protected override string ToolName
|
||||
{
|
||||
get { return $"dotnet{Constants.ExeSuffix}"; }
|
||||
}
|
||||
protected override string ToolName => $"dotnet{(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : string.Empty)}";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
get { return MessageImportance.High; } // or else the output doesn't get logged by default
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
string path = ToolPath;
|
||||
|
||||
// if ToolPath was not provided by the MSBuild script
|
||||
if (string.IsNullOrEmpty(path))
|
||||
if (string.IsNullOrEmpty(ToolPath))
|
||||
{
|
||||
Log.LogError($"Could not find the Path to {ToolName}");
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return path;
|
||||
return ToolPath;
|
||||
}
|
||||
|
||||
protected override string GetWorkingDirectory()
|
||||
{
|
||||
return WorkingDirectory ?? base.GetWorkingDirectory();
|
||||
}
|
||||
protected override string GetWorkingDirectory() => WorkingDirectory ?? base.GetWorkingDirectory();
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
|
@ -78,9 +59,6 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
return commandLineCommands;
|
||||
}
|
||||
|
||||
protected override void LogToolCommand(string message)
|
||||
{
|
||||
base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
protected override void LogToolCommand(string message) => base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,15 +9,15 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{
|
||||
public class EnvironmentFilter
|
||||
{
|
||||
private const string _MSBuildEnvironmentVariablePrefix = "MSBuild";
|
||||
private const string _DotNetEnvironmentVariablePrefix = "DOTNET";
|
||||
private const string _NugetEnvironmentVariablePrefix = "NUGET";
|
||||
private const string MSBuildEnvironmentVariablePrefix = "MSBuild";
|
||||
private const string DotNetEnvironmentVariablePrefix = "DOTNET";
|
||||
private const string NugetEnvironmentVariablePrefix = "NUGET";
|
||||
|
||||
private IEnumerable<string> _prefixesOfEnvironmentVariablesToRemove = new string []
|
||||
{
|
||||
_MSBuildEnvironmentVariablePrefix,
|
||||
_DotNetEnvironmentVariablePrefix,
|
||||
_NugetEnvironmentVariablePrefix
|
||||
MSBuildEnvironmentVariablePrefix,
|
||||
DotNetEnvironmentVariablePrefix,
|
||||
NugetEnvironmentVariablePrefix
|
||||
};
|
||||
|
||||
private IEnumerable<string> _environmentVariablesToRemove = new string []
|
||||
|
@ -36,7 +36,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
public IEnumerable<string> GetEnvironmentVariableNamesToRemove()
|
||||
{
|
||||
var allEnvironmentVariableNames = (IEnumerable<string>)Environment
|
||||
var allEnvironmentVariableNames = Environment
|
||||
.GetEnvironmentVariables()
|
||||
.Keys
|
||||
.Cast<string>();
|
||||
|
|
|
@ -47,14 +47,11 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
|
||||
var retVal = true;
|
||||
|
||||
if (Directory.Exists(DestinationDirectory))
|
||||
{
|
||||
if (CleanDestination == true)
|
||||
if (Directory.Exists(DestinationDirectory) && CleanDestination == true)
|
||||
{
|
||||
Log.LogMessage(MessageImportance.Low, "'{0}' already exists, trying to delete before unzipping...", DestinationDirectory);
|
||||
Directory.Delete(DestinationDirectory, recursive: true);
|
||||
}
|
||||
}
|
||||
|
||||
if (!File.Exists(SourceArchive))
|
||||
{
|
||||
|
@ -178,35 +175,14 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
return retVal;
|
||||
}
|
||||
|
||||
private bool ShouldExtractItem(string path)
|
||||
{
|
||||
if (DirectoriesToCopy != null)
|
||||
{
|
||||
return DirectoriesToCopy.Any(p => path.StartsWith(p.ItemSpec));
|
||||
private bool ShouldExtractItem(string path) => DirectoriesToCopy?.Any(p => path.StartsWith(p.ItemSpec)) ?? false;
|
||||
|
||||
}
|
||||
protected override string ToolName => "tar";
|
||||
|
||||
return false;
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override string ToolName
|
||||
{
|
||||
get { return "tar"; }
|
||||
}
|
||||
protected override string GenerateFullPathToTool() => "tar";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
get { return MessageImportance.High; } // or else the output doesn't get logged by default
|
||||
}
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
return "tar";
|
||||
}
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
return $"xf {SourceArchive} -C {DestinationDirectory}";
|
||||
}
|
||||
protected override string GenerateCommandLineCommands() => $"xf {SourceArchive} -C {DestinationDirectory}";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,21 +19,14 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{
|
||||
if (NuGetVersion.TryParse(RuntimePackVersion, out var version))
|
||||
{
|
||||
if (version.IsPrerelease && version.Patch == 0)
|
||||
{
|
||||
DefaultRuntimeFrameworkVersion = RuntimePackVersion;
|
||||
}
|
||||
else
|
||||
{
|
||||
DefaultRuntimeFrameworkVersion = new NuGetVersion(version.Major, version.Minor, 0).ToFullString();
|
||||
}
|
||||
DefaultRuntimeFrameworkVersion = version.IsPrerelease && version.Patch == 0 ?
|
||||
RuntimePackVersion :
|
||||
new NuGetVersion(version.Major, version.Minor, 0).ToFullString();
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build
|
||||
{
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.RuntimeModel;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
|
@ -49,6 +48,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{
|
||||
Log.LogWarning($"GetComponentCommit failed for VersionDetailsXmlFile={VersionDetailsXmlFile}, DependencyName={DependencyName}: {ex}");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build
|
||||
{
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
@ -27,6 +24,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
var runtimeJsonRoot = JObject.Parse(runtimeJsonContents);
|
||||
string [] runtimeIdentifiers = ((JObject)runtimeJsonRoot["runtimes"]).Properties().Select(p => p.Name).ToArray();
|
||||
AvailableRuntimePackRuntimeIdentifiers = runtimeIdentifiers.Select(rid => new TaskItem(rid)).ToArray();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
@ -88,39 +87,22 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
return retVal;
|
||||
}
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
return base.Execute();
|
||||
}
|
||||
public override bool Execute() => base.Execute();
|
||||
|
||||
protected override string ToolName
|
||||
{
|
||||
get { return "tar"; }
|
||||
}
|
||||
protected override string ToolName => "tar";
|
||||
|
||||
protected override MessageImportance StandardOutputLoggingImportance
|
||||
{
|
||||
get { return MessageImportance.High; } // or else the output doesn't get logged by default
|
||||
}
|
||||
protected override MessageImportance StandardOutputLoggingImportance => MessageImportance.High;
|
||||
|
||||
protected override string GenerateFullPathToTool()
|
||||
{
|
||||
return "tar";
|
||||
}
|
||||
protected override string GenerateFullPathToTool() => "tar";
|
||||
|
||||
protected override string GenerateCommandLineCommands()
|
||||
{
|
||||
return $"{GetDestinationArchive()} {GetSourceSpecification()}";
|
||||
}
|
||||
protected override string GenerateCommandLineCommands() => $"{GetDestinationArchive()} {GetSourceSpecification()}";
|
||||
|
||||
private string GetSourceSpecification()
|
||||
{
|
||||
if (IncludeBaseDirectory)
|
||||
{
|
||||
var parentDirectory = Directory.GetParent(SourceDirectory).Parent.FullName;
|
||||
|
||||
var sourceDirectoryName = Path.GetFileName(Path.GetDirectoryName(SourceDirectory));
|
||||
|
||||
return $"--directory {parentDirectory} {sourceDirectoryName} {GetExcludes()}";
|
||||
}
|
||||
else
|
||||
|
@ -129,14 +111,11 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
}
|
||||
}
|
||||
|
||||
private string GetDestinationArchive()
|
||||
{
|
||||
return $"-czf {DestinationArchive}";
|
||||
}
|
||||
private string GetDestinationArchive() => $"-czf {DestinationArchive}";
|
||||
|
||||
private string GetExcludes()
|
||||
{
|
||||
var excludes = String.Empty;
|
||||
var excludes = string.Empty;
|
||||
|
||||
if (ExcludePatterns != null)
|
||||
{
|
||||
|
@ -149,9 +128,6 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
return excludes;
|
||||
}
|
||||
|
||||
protected override void LogToolCommand(string message)
|
||||
{
|
||||
base.LogToolCommand($"{base.GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
protected override void LogToolCommand(string message) => base.LogToolCommand($"{GetWorkingDirectory()}> {message}");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
# Create project named finalizer, this will
|
||||
# will generate Finalizer.vcxproj
|
||||
# Create project named finalizer, this will generate Finalizer.vcxproj
|
||||
project(Finalizer)
|
||||
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
|
@ -10,12 +9,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS /ENTRY:wmainCRTStartup")
|
||||
|
||||
# The WiX SDK is extracted from a NuGet package using an SDK .csproj (finalizer_shim)
|
||||
# that copies the "lib" and "inc" folders to a stable location.
|
||||
|
||||
include_directories(../../artifacts/WixSdk/inc)
|
||||
include_directories(../../artifacts/obj)
|
||||
link_directories(../../artifacts/WixSdk/lib/${Platform})
|
||||
# The WiX SDK is extracted from a NuGet package using an SDK .csproj (finalizer-build) that copies the "lib" and "inc" folders to a stable location.
|
||||
# The defines below (values in ${}) are set in the finalizer.nativeproj.
|
||||
# See: https://github.com/dotnet/arcade/tree/main/src/Microsoft.DotNet.CMake.Sdk#common-items
|
||||
# Note: The directory paths use forward slashes because backslashes are escape characters.
|
||||
include_directories(${ArtifactsDir}WixSdk/inc)
|
||||
include_directories(${ArtifactsDir}obj)
|
||||
link_directories(${ArtifactsDir}WixSdk/lib/${Platform})
|
||||
|
||||
add_compile_options(/MT)
|
||||
|
||||
|
@ -48,9 +48,7 @@ add_executable(Finalizer
|
|||
native.rc
|
||||
)
|
||||
|
||||
# These are normally part of a .vcxproj in Visual Studio, but
|
||||
# appears to be missing when CMAKE generates a .vcxproj
|
||||
# for arm64.
|
||||
# These are normally part of a .vcxproj in Visual Studio, but appears to be missing when CMAKE generates a .vcxproj for arm64.
|
||||
target_link_libraries(Finalizer shell32.lib)
|
||||
target_link_libraries(Finalizer advapi32.lib)
|
||||
target_link_libraries(Finalizer version.lib)
|
||||
|
|
9
src/finalizer/Directory.Build.props
Normal file
9
src/finalizer/Directory.Build.props
Normal file
|
@ -0,0 +1,9 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<SetPlatformFromArchitecture>true</SetPlatformFromArchitecture>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\Directory.Build.props" />
|
||||
|
||||
</Project>
|
|
@ -1,14 +1,11 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<!--
|
||||
This is a shim project to restore the WiX library and copy out the *.lib and *.h files so
|
||||
we can build the finalizer.
|
||||
-->
|
||||
<Project Sdk="Microsoft.Build.NoTargets">
|
||||
|
||||
<PropertyGroup>
|
||||
<Platform Condition="'$(Platform)' == 'AnyCPU' Or '$(Platform)' == ''">$(Architecture)</Platform>
|
||||
<TargetFramework>$(CoreSdkTargetFramework)</TargetFramework>
|
||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||
<CopyBuildOutputToPublishDirectory>false</CopyBuildOutputToPublishDirectory>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
<NativeVersionFile>$(ArtifactsObjDir)sdk_version.h</NativeVersionFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -17,20 +14,26 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<NativeProjectReference Include="$(RepoRoot)src\finalizer\CMakeLists.txt" CMakeProject="$(RepoRoot)src\finalizer\finalizer.proj" BuildNative="true"/>
|
||||
<!-- See: https://github.com/dotnet/arcade/tree/main/src/Microsoft.DotNet.CMake.Sdk#referencing-native-assets-with-nativeprojectreference -->
|
||||
<NativeProjectReference Include="CMakeLists.txt" CMakeProject="finalizer.nativeproj" BuildNative="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="GenerateSdkVersionFile" BeforeTargets="CoreCompile" DependsOnTargets="GenerateNativeVersionFile" />
|
||||
|
||||
<!-- This target needs to run before the native project reference is built. -->
|
||||
<Target Name="CopySdk" AfterTargets="Restore" BeforeTargets="Build">
|
||||
<Target Name="CopyWixSdk" AfterTargets="Restore" BeforeTargets="Build">
|
||||
<ItemGroup>
|
||||
<WixLib Include="$(WixSdkPath)vs2017\lib\**\*.*" />
|
||||
<WixInclude Include="$(WixSdkPath)inc\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Copy all the lib files for x86, x64, and arm64 -->
|
||||
<!-- Copy all the lib files for x86, x64, and arm64. -->
|
||||
<Copy SourceFiles="@(WixLib)" DestinationFiles="@(WixLib->'$(ArtifactsDir)WixSdk\lib\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
||||
<Copy SourceFiles="@(WixInclude)" DestinationFolder="$(ArtifactsDir)WixSdk\inc" SkipUnchangedFiles="true" />
|
||||
</Target>
|
||||
|
||||
<!-- This imports the CMake SDK and because BuildNative is true, it builds the native project. -->
|
||||
<!-- See: https://github.com/dotnet/arcade/tree/main/src/Microsoft.DotNet.CMake.Sdk#referencing-native-assets-with-nativeprojectreference -->
|
||||
<Import Project="ProjectReference.targets" Sdk="Microsoft.DotNet.CMake.Sdk" />
|
||||
|
||||
</Project>
|
17
src/finalizer/finalizer.nativeproj
Normal file
17
src/finalizer/finalizer.nativeproj
Normal file
|
@ -0,0 +1,17 @@
|
|||
<Project Sdk="Microsoft.DotNet.CMake.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- We use forward slashes in the ArtifactsDir path because backslashes in the CMakeLists.txt are escape characters. -->
|
||||
<ArtifactsDirForCMake>$([System.String]::Copy($(ArtifactsDir)).Replace('\','/'))</ArtifactsDirForCMake>
|
||||
<CMakeLists>CMakeLists.txt</CMakeLists>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- This will be passed through -D and referenced by the CMakeLists.txt to correctly resolve the platform specific libs. -->
|
||||
<ItemGroup>
|
||||
<CMakeDefines Include="Platform" Value="$(Platform)" />
|
||||
<CMakeDefines Include="ArtifactsDir" Value="$(ArtifactsDirForCMake)" />
|
||||
<!-- Include this item below to create a binlog for the native build. -->
|
||||
<!-- <CMakeNativeToolArguments Include="/bl:$(ArtifactsDirForCMake)native.binlog" /> -->
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,14 +0,0 @@
|
|||
<Project Sdk="Microsoft.DotNet.CMake.Sdk">
|
||||
<PropertyGroup>
|
||||
<CMakeLists>CMakeLists.txt</CMakeLists>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
This will be passed through -D and referenced by the CMakeLists.txt to correctly resolve
|
||||
the platform specific libs
|
||||
-->
|
||||
<ItemGroup>
|
||||
<CMakeDefines Include="Platform" Value="$(Platform)" />
|
||||
<!-- <CMakeNativeToolArguments Include="/bl:$(ArtifactsDir)native.binlog" /> -->
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LCX SchemaVersion="6.0" Name="D:\a\_work\1\s\src\redist\targets\packaging\osx\clisdk\resources\conclusion.html" PsrId="22" FileType="1" SrcCul="en-US" Desc="Commenting file created by LCXAdmin. For more information, please visit http://localizability/longhorn/LcxAdmin.asp" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
|
||||
<LCX SchemaVersion="6.0" Name="D:\a\_work\1\s\src\redist\packaging\osx\resources\conclusion.html" PsrId="22" FileType="1" SrcCul="en-US" Desc="Commenting file created by LCXAdmin. For more information, please visit http://localizability/longhorn/LcxAdmin.asp" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
|
||||
<OwnedComments>
|
||||
<Cmt Name="LcxAdmin" />
|
||||
</OwnedComments>
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LCX SchemaVersion="6.0" Name="D:\a\_work\1\s\src\redist\targets\packaging\osx\clisdk\resources\welcome.html" PsrId="22" FileType="1" SrcCul="en-US" Desc="Commenting file created by LCXAdmin. For more information, please visit http://localizability/longhorn/LcxAdmin.asp" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
|
||||
<LCX SchemaVersion="6.0" Name="D:\a\_work\1\s\src\redist\packaging\osx\resources\welcome.html" PsrId="22" FileType="1" SrcCul="en-US" Desc="Commenting file created by LCXAdmin. For more information, please visit http://localizability/longhorn/LcxAdmin.asp" xmlns="http://schemas.microsoft.com/locstudio/2006/6/lcx">
|
||||
<OwnedComments>
|
||||
<Cmt Name="LcxAdmin" />
|
||||
</OwnedComments>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue