Skip to content

Commit 1cb1285

Browse files
authored
Merge pull request #1912 from mono/consolidation
This adds the Mono runtime sources including the full history and some initial build system integration.
2 parents 796a2e0 + 18e51ae commit 1cb1285

File tree

2,693 files changed

+868620
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,693 files changed

+868620
-4
lines changed

eng/Subsets.props

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<PropertyGroup>
5151
<LibrariesProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries'))</LibrariesProjectRoot>
5252
<CoreClrProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr'))</CoreClrProjectRoot>
53+
<MonoProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono'))</MonoProjectRoot>
5354
<InstallerProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer'))</InstallerProjectRoot>
5455
<RepoToolsLocalDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local'))</RepoToolsLocalDir>
5556
<RepoTasksDir>$([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks'))</RepoTasksDir>
@@ -61,13 +62,15 @@
6162
<!-- TODO: Split into multiple sets. -->
6263
<DefaultLibrariesSubsets>all</DefaultLibrariesSubsets>
6364
<DefaultCoreClrSubsets>all</DefaultCoreClrSubsets>
65+
<DefaultMonoSubsets>all</DefaultMonoSubsets>
6466

6567
<_subsetCategory Condition="'$(SubsetCategory)' != ''">$(SubsetCategory.ToLowerInvariant())</_subsetCategory>
6668
<_subsetCategory Condition="'$(SubsetCategory)' == ''">$(DefaultSubsetCategories)</_subsetCategory>
6769
<_subset Condition="'$(Subset)' != ''">$(Subset.ToLowerInvariant())</_subset>
6870
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(DefaultInstallerSubsets)</_subset>
6971
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(_subset)$(DefaultLibrariesSubsets)</_subset>
7072
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('coreclr'))">$(_subset)$(DefaultCoreClrSubsets)</_subset>
73+
<_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('mono'))">$(_subset)$(DefaultMonoSubsets)</_subset>
7174
</PropertyGroup>
7275

7376
<ItemGroup>
@@ -80,6 +83,9 @@
8083
<!-- CoreClr -->
8184
<SubsetName Include="All" Category="CoreClr" Description="The .NET runtime." />
8285

86+
<!-- Mono -->
87+
<SubsetName Include="All" Category="Mono" Description="The Mono .NET runtime." />
88+
8389
<!-- Installer -->
8490
<SubsetName Include="All" Category="Installer" Description="The .NET Core hosts, hosting libraries, bundles, and installers. Includes these projects' tests." />
8591
<SubsetName Include="CoreHost" Category="Installer" Description="The .NET Core hosts." />
@@ -114,6 +120,13 @@
114120
<ProjectToBuild Include="@(CoreClrProjectToBuild)" />
115121
</ItemGroup>
116122

123+
<!-- Mono sets -->
124+
<ItemGroup Condition="$(_subsetCategory.Contains('mono')) and $(_subset.Contains('all'))">
125+
<MonoProjectToBuild Include="$(MonoProjectRoot)mono.proj" BuildInParallel="false" />
126+
<MonoProjectToBuild Include="$(MonoProjectRoot)netcore\System.Private.CoreLib\System.Private.CoreLib.csproj" BuildInParallel="false" />
127+
<ProjectToBuild Include="@(MonoProjectToBuild)" />
128+
</ItemGroup>
129+
117130
<!-- Libraries sets -->
118131
<ItemGroup Condition="$(_subsetCategory.Contains('libraries')) and $(_subset.Contains('all'))">
119132
<LibrariesProjectToBuild Include="$(LibrariesProjectRoot)build.proj" BuildInParallel="false" />

eng/liveBuilds.targets

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<PropertyGroup>
44
<CoreCLROSGroup Condition="'$(CoreCLROSGroup)' == ''">$(OSGroup)</CoreCLROSGroup>
55
<CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(Configuration)</CoreCLRConfiguration>
6+
<MonoOSGroup Condition="'$(MonoOSGroup)' == ''">$(OSGroup)</MonoOSGroup>
7+
<MonoConfiguration Condition="'$(MonoConfiguration)' == ''">$(Configuration)</MonoConfiguration>
68
<LibrariesOSGroup Condition="'$(LibrariesOSGroup)' == ''">$(OSGroup)</LibrariesOSGroup>
79
<LibrariesConfiguration Condition="'$(LibrariesConfiguration)' == ''">$(Configuration)</LibrariesConfiguration>
810

@@ -12,6 +14,7 @@
1214
<!-- Accept override paths for live artifacts. -->
1315
<PropertyGroup>
1416
<CoreCLRArtifactsPath Condition="'$(CoreCLROverridePath)' != ''">$([MSBuild]::NormalizeDirectory('$(CoreCLROverridePath)'))</CoreCLRArtifactsPath>
17+
<MonoArtifactsPath Condition="'$(MonoOverridePath)' != ''">$([MSBuild]::NormalizeDirectory('$(MonoOverridePath)'))</MonoArtifactsPath>
1518
<LibrariesArtifactsPath Condition="'$(LibrariesOverridePath)' != ''">$([MSBuild]::NormalizeDirectory('$(LibrariesOverridePath)'))</LibrariesArtifactsPath>
1619
<LibrariesAllConfigurationsArtifactsPath Condition="'$(LibrariesAllConfigurationsOverridePath)' != ''">$([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigurationsOverridePath)'))</LibrariesAllConfigurationsArtifactsPath>
1720
</PropertyGroup>
@@ -40,6 +43,7 @@
4043
<ArtifactPlatform>$(ArtifactPlatform.Replace('-', '_'))</ArtifactPlatform>
4144

4245
<CoreCLRArtifactsPath>$([MSBuild]::NormalizeDirectory('$(AllArtifactsDownloadPath)', 'CoreCLRProduct_$(ArtifactPlatform)_$(CoreCLRConfiguration)'))</CoreCLRArtifactsPath>
46+
<MonoArtifactsPath>$([MSBuild]::NormalizeDirectory('$(AllArtifactsDownloadPath)', 'MonoProduct_$(ArtifactPlatform)_$(MonoConfiguration)'))</MonoArtifactsPath>
4347
<LibrariesArtifactsPath>$([MSBuild]::NormalizeDirectory('$(AllArtifactsDownloadPath)', 'libraries_bin_$(ArtifactPlatform)_$(LibrariesConfiguration)'))</LibrariesArtifactsPath>
4448

4549
<!--
@@ -52,6 +56,7 @@
5256
<!-- Set up default live asset paths if no overrides provided. -->
5357
<PropertyGroup>
5458
<CoreCLRArtifactsPath Condition="'$(CoreCLRArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'coreclr', '$(CoreCLROSGroup).$(TargetArchitecture).$(CoreCLRConfiguration)'))</CoreCLRArtifactsPath>
59+
<MonoArtifactsPath Condition="'$(MonoArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'mono', '$(MonoOSGroup).$(TargetArchitecture).$(MonoConfiguration)'))</MonoArtifactsPath>
5560
<LibrariesArtifactsPath Condition="'$(LibrariesArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesArtifactsPath>
5661
<LibrariesAllConfigurationsArtifactsPath Condition="'$(LibrariesAllConfigurationsArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesAllConfigurationsArtifactsPath>
5762
</PropertyGroup>
@@ -128,6 +133,16 @@
128133
<Error Condition="'@(CoreCLRFiles)' == ''" Text="The CoreCLR subset category must be built before building this project." />
129134
</Target>
130135

136+
<Target Name="ResolveMonoFilesFromLocalBuild">
137+
<Error Condition="!Exists('$(MonoArtifactsPath)')" Text="The Mono artifacts path does not exist '$(MonoArtifactsPath)'. The Mono subset category must be built before building this project." />
138+
139+
<ItemGroup>
140+
<MonoFiles Include="$(MonoArtifactsPath)\*.*" />
141+
</ItemGroup>
142+
143+
<Error Condition="'@(MonoFiles)' == ''" Text="The Mono subset category must be built before building this project." />
144+
</Target>
145+
131146
<Target Name="EnsureLocalArtifactsExist">
132147
<Error Condition="!Exists('$(LibrariesSharedFrameworkRefArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesSharedFrameworkRefArtifactsPath)" />
133148
<Error Condition="!Exists('$(LibrariesAllRefArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesAllRefArtifactsPath)" />

eng/testing/tests.targets

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
<RunScriptHost Condition="'$(TargetOS)' == 'Windows_NT'">$(RunScriptHostDir)dotnet.exe</RunScriptHost>
1818
<RunScriptHost Condition="'$(TargetOS)' != 'Windows_NT'">$(RunScriptHostDir)dotnet</RunScriptHost>
19+
20+
<MonoRspFile>$(RunWorkingDirectory)mono.issues.rsp</MonoRspFile>
1921
</PropertyGroup>
2022

2123
<!-- Archive test binaries. -->
@@ -72,6 +74,19 @@
7274
OutputPath="$(RunScriptOutputPath)" />
7375

7476
<Exec Condition="'$(TargetOS)' != 'Windows_NT'" Command="chmod +x $(RunScriptOutputPath)" />
77+
78+
<!-- Generate Mono .rsp file -->
79+
<ItemGroup>
80+
<MonoRspFiles Include="$(MonoProjectRoot)netcore\CoreFX.issues.rsp" />
81+
<MonoRspFiles Include="$(MonoProjectRoot)netcore\CoreFX.issues_mac.rsp" Condition="'$(TargetOS)' == 'OSX'" />
82+
<MonoRspFiles Include="$(MonoProjectRoot)netcore\CoreFX.issues_linux.rsp" Condition="'$(TargetOS)' == 'Linux'" />
83+
<MonoRspFiles Include="$(MonoProjectRoot)netcore\CoreFX.issues_windows.rsp" Condition="'$(TargetOS)' == 'Windows_NT'" />
84+
</ItemGroup>
85+
<ItemGroup>
86+
<MonoRspFileContent Include="$([System.IO.File]::ReadAllText(%(MonoRspFiles.Identity)))" />
87+
</ItemGroup>
88+
89+
<WriteLinesToFile File="$(MonoRspFile)" Lines="@(MonoRspFileContent)" Overwrite="true" />
7590
</Target>
7691

7792
<Target Name="ValidateTestPlatform">
@@ -100,6 +115,7 @@
100115

101116
<PropertyGroup>
102117
<RunTestsCommand>"$(RunScriptOutputPath)" --runtime-path "$(TestHostRootPath.TrimEnd('\/'))"</RunTestsCommand>
118+
<RunTestsCommand Condition="'$(TestRuntimeFlavor)' == 'Mono'">$(RunTestsCommand) --rsp-file "$(MonoRspFile)"</RunTestsCommand>
103119
<RunTestsCommand Condition="'$(TestRspFile)' != ''">$(RunTestsCommand) --rsp-file "$(TestRspFile)"</RunTestsCommand>
104120
</PropertyGroup>
105121

mono.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
"%~dp0build.cmd" -subsetCategory mono %*

mono.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
3+
source="${BASH_SOURCE[0]}"
4+
5+
# resolve $SOURCE until the file is no longer a symlink
6+
while [[ -h $source ]]; do
7+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8+
source="$(readlink "$source")"
9+
10+
# if $source was a relative symlink, we need to resolve it relative to the path where the
11+
# symlink file was located
12+
[[ $source != /* ]] && source="$scriptroot/$source"
13+
done
14+
15+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16+
"$scriptroot/build.sh" --subsetCategory mono $@

src/libraries/Directory.Build.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<PropertyGroup>
33
<CoreCLROSGroup Condition="'$(CoreCLROSGroup)' == ''">$(_bc_OSGroup)</CoreCLROSGroup>
44
<CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(_bc_ConfigurationGroup)</CoreCLRConfiguration>
5+
<MonoOSGroup Condition="'$(MonoCLROSGroup)' == ''">$(_bc_OSGroup)</MonoOSGroup>
6+
<MonoConfiguration Condition="'$(MonoConfiguration)' == ''">$(_bc_ConfigurationGroup)</MonoConfiguration>
57
</PropertyGroup>
68

79
<Import Project="..\..\Directory.Build.targets" />

src/libraries/restore/runtime/runtime.depproj

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
<!-- We're using ToolRuntimeRID as a placeholder for the real corelib/runtime components until we have an actual set of runtime bits to consume for webassembly. -->
55
<RuntimeIdentifier Condition="'$(RuntimeOS)' == 'webassembly'">$(ToolRuntimeRID)</RuntimeIdentifier>
66
<NoWarn>$(NoWarn);NU1603;NU1605</NoWarn>
7-
<SwapNativeForIL Condition="'$(SwapNativeForIL)' == '' and ('$(ConfigurationGroup)' == 'Debug' or '$(Coverage)' == 'true')">true</SwapNativeForIL>
7+
<SwapNativeForIL Condition="'$(SwapNativeForIL)' == '' and ('$(ConfigurationGroup)' == 'Debug' or '$(Coverage)' == 'true') and '$(TestRuntimeFlavor)' != 'Mono'">true</SwapNativeForIL>
88
<CoreCLROSGroup Condition="'$(CoreCLROSGroup)' == ''">$(DefaultOSGroup)</CoreCLROSGroup>
99
<CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(ConfigurationGroup)</CoreCLRConfiguration>
10+
<MonoOSGroup Condition="'$(MonoOSGroup)' == ''">$(DefaultOSGroup)</MonoOSGroup>
11+
<MonoConfiguration Condition="'$(MonoConfiguration)' == ''">$(ConfigurationGroup)</MonoConfiguration>
1012
<BinPlaceForTargetVertical>false</BinPlaceForTargetVertical>
1113
</PropertyGroup>
1214

@@ -61,9 +63,10 @@
6163
<Exec Command="chmod +x $(TestHostRootPath)%(DotnetExe.Filename)%(DotnetExe.Extension)" Condition="'$(OS)' != 'Windows_NT'"/>
6264
</Target>
6365

64-
<Target Name="OverrideRuntime"
66+
<Target Name="OverrideRuntimeCoreCLR"
6567
DependsOnTargets="ResolveCoreCLRFilesFromLocalBuild"
66-
AfterTargets="AfterResolveReferences;FilterNugetPackages">
68+
AfterTargets="AfterResolveReferences;FilterNugetPackages"
69+
Condition="'$(TestRuntimeFlavor)' != 'Mono'">
6770
<ItemGroup>
6871
<!-- CoreRun is not used for testing anymore, but we still use it for benchmarking and profiling -->
6972
<CoreCLRFiles Include="$(CoreCLRArtifactsPath)/corerun*" />
@@ -72,6 +75,15 @@
7275
</ItemGroup>
7376
</Target>
7477

78+
<Target Name="OverrideRuntimeMono"
79+
DependsOnTargets="ResolveMonoFilesFromLocalBuild"
80+
AfterTargets="AfterResolveReferences;FilterNugetPackages"
81+
Condition="'$(TestRuntimeFlavor)' == 'Mono'">
82+
<ItemGroup>
83+
<ReferenceCopyLocalPaths Include="@(MonoFiles)" />
84+
</ItemGroup>
85+
</Target>
86+
7587
<Target Name="GetCoreCLRILFiles" DependsOnTargets="ResolveCoreCLRFilesFromLocalBuild">
7688
<ItemGroup>
7789
<CoreCLRILFiles Include="$(CoreCLRArtifactsPath)/IL/*.*" />
@@ -81,7 +93,7 @@
8193

8294
<Target Name="SwapNativeForIL"
8395
AfterTargets="AfterResolveReferences"
84-
DependsOnTargets="GetCoreCLRILFiles;OverrideRuntime"
96+
DependsOnTargets="GetCoreCLRILFiles;OverrideRuntimeCoreCLR"
8597
Condition="'$(SwapNativeForIL)' == 'true'">
8698
<ItemGroup>
8799
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'@(CoreCLRILFiles->'%(FileName)%(Extension)')' == '%(FileName)%(Extension)'" />

src/libraries/shims/manual/Directory.Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
<RefPath>$(ArtifactsBinDir)runtime/$(TargetFramework)-$(_bc_OSGroup)-$(_bc_ConfigurationGroup)-$(ArchGroup)/</RefPath>
1616
<CoreCLROSGroup>$(_bc_OSGroup)</CoreCLROSGroup>
1717
<CoreCLRConfiguration>$(_bc_ConfigurationGroup)</CoreCLRConfiguration>
18+
<MonoOSGroup>$(_bc_OSGroup)</MonoOSGroup>
19+
<MonoConfiguration>$(_bc_ConfigurationGroup)</MonoConfiguration>
1820
</PropertyGroup>
1921

2022
<ItemGroup>

src/mono/.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Makefile.in
2+
3+
/aclocal.m4
4+
/compile
5+
/config.guess
6+
/config.h.in
7+
/config.h
8+
/config.sub
9+
/configure
10+
/depcomp
11+
/install-sh
12+
/ltmain.sh
13+
/missing
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"configurations": [
3+
{
4+
"name": "Mac",
5+
"includePath": [
6+
"${default}",
7+
"/usr/local/include",
8+
"${workspaceRoot}",
9+
"${workspaceRoot}/mono",
10+
"${workspaceRoot}/mono/eglib",
11+
"${workspaceRoot}/support"
12+
],
13+
"defines": [],
14+
"intelliSenseMode": "clang-x64",
15+
"browse": {
16+
"path": [
17+
"${default}",
18+
"/usr/local/include",
19+
"${workspaceRoot}",
20+
"${workspaceRoot}/mono",
21+
"${workspaceRoot}/mono/eglib",
22+
"${workspaceRoot}/support"
23+
],
24+
"limitSymbolsToIncludedHeaders": true,
25+
"databaseFilename": ""
26+
},
27+
"macFrameworkPath": [
28+
"${default}",
29+
"/System/Library/Frameworks",
30+
"/Library/Frameworks"
31+
]
32+
},
33+
{
34+
"name": "Linux",
35+
"includePath": [
36+
"${default}",
37+
"/usr/include",
38+
"/usr/local/include",
39+
"${workspaceRoot}",
40+
"${workspaceRoot}/mono",
41+
"${workspaceRoot}/mono/eglib",
42+
"${workspaceRoot}/support"
43+
],
44+
"defines": [],
45+
"intelliSenseMode": "clang-x64",
46+
"browse": {
47+
"path": [
48+
"${default}",
49+
"/usr/include",
50+
"/usr/local/include",
51+
"${workspaceRoot}",
52+
"${workspaceRoot}/mono",
53+
"${workspaceRoot}/mono/eglib",
54+
"${workspaceRoot}/support"
55+
],
56+
"limitSymbolsToIncludedHeaders": true,
57+
"databaseFilename": ""
58+
}
59+
},
60+
{
61+
"name": "Win32",
62+
"includePath": [
63+
"${default}",
64+
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include",
65+
"${workspaceRoot}",
66+
"${workspaceRoot}/mono",
67+
"${workspaceRoot}/mono/eglib",
68+
"${workspaceRoot}/support"
69+
],
70+
"defines": [
71+
"_DEBUG",
72+
"UNICODE"
73+
],
74+
"intelliSenseMode": "msvc-x64",
75+
"browse": {
76+
"path": [
77+
"${default}",
78+
"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/*",
79+
"${workspaceRoot}",
80+
"${workspaceRoot}/mono",
81+
"${workspaceRoot}/mono/eglib",
82+
"${workspaceRoot}/support"
83+
],
84+
"limitSymbolsToIncludedHeaders": true,
85+
"databaseFilename": ""
86+
}
87+
}
88+
],
89+
"version": 4
90+
}

src/mono/Directory.Build.props

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project>
2+
3+
<PropertyGroup>
4+
<SkipImportArcadeSdkFromRoot>true</SkipImportArcadeSdkFromRoot>
5+
</PropertyGroup>
6+
<Import Project="..\..\Directory.Build.props" />
7+
8+
<!-- Ensure our properties are set before Arcade defines defaults -->
9+
<Import Project="dir.common.props" />
10+
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
11+
12+
<PropertyGroup Condition="'$(CopyrightNetFoundation)' != ''">
13+
<Copyright>$(CopyrightNetFoundation)</Copyright>
14+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
15+
</PropertyGroup>
16+
17+
<PropertyGroup>
18+
<SignAssembly Condition="'$(UsingMicrosoftNETSdk)'!='true'">false</SignAssembly>
19+
</PropertyGroup>
20+
21+
<PropertyGroup>
22+
<CL_MPCount>$(NumberOfCores)</CL_MPCount>
23+
</PropertyGroup>
24+
<PropertyGroup>
25+
<!-- Enables Strict mode for Roslyn compiler -->
26+
<Features>strict;nullablePublicOnly</Features>
27+
</PropertyGroup>
28+
</Project>

src/mono/Directory.Build.targets

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project>
3+
<Import Project="..\..\Directory.Build.targets" />
4+
5+
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
6+
7+
<PropertyGroup>
8+
<!-- SDK sets product to assembly but we want it to be our product name -->
9+
<Product>Microsoft%AE .NET Core</Product>
10+
11+
<!-- Use the .NET Core product branding version for informational version description -->
12+
<InformationalVersion>$(ProductVersion)</InformationalVersion>
13+
<InformationalVersion Condition="'$(VersionSuffix)' != ''">$(InformationalVersion)-$(VersionSuffix)</InformationalVersion>
14+
</PropertyGroup>
15+
</Project>

0 commit comments

Comments
 (0)