diff --git a/.gitignore b/.gitignore index 35c03423e7b7f6..a9a3cae8e94553 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,7 @@ bld/ msbuild.log msbuild.err msbuild.wrn -msbuild.binlog +*.binlog .deps/ .dirstamp .libs/ diff --git a/Build.proj b/Build.proj new file mode 100644 index 00000000000000..0ecff09e8552be --- /dev/null +++ b/Build.proj @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(RepoTasksDir) + $(ArtifactsObjDir)runtime.tasks\Debug\build-semaphore.txt + + + + + + + + + + + + \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index 66e518803b59c9..06cb0f4cb33a98 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -27,14 +27,7 @@ $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj')) - - - 5.0 - .NETCoreApp,Version=v$(NETCoreAppCurrentVersion) - netcoreapp$(NETCoreAppCurrentVersion) - net472 - - + - - - - - - - - - - - -``` -`unix/System.IO.FileSystem.pkgproj` -``` - - - - - unix - true - - - - - OSGroup=Linux - - - - - -``` - ## Asset selection The makeup of a package folder is primarily a grouping of project references to the projects that compose that package. Settings within each referenced project determines where that asset will be placed in the package. For example, reference assembly projects will be placed under the `ref/{targetMoniker}` folder in the package and implementations will be under either `lib/{targetMoniker}` or `runtimes/{rid}/lib/{targetMoniker}`. Whenever NuGet evaluates a package in the context of a referencing project it will choose the best compile time asset (preferring `ref`, then falling back to `lib`) and runtime asset (preferring `runtimes/{rid}/lib` and falling back to `lib`) for every package that is referenced. For more information see http://docs.nuget.org/. @@ -221,8 +63,8 @@ Asset projects (`.csproj`, `.vbproj`, or `.depproj`) can control their `{targetM The primary thing that the library author needs to do in order to ensure the correct asset selection is: -1. Configure the correct projects in your library's `.builds` file. -2. Reference the `.builds` file from the package project. +1. Configure the correct projects in your library's `.proj` file. +2. Reference the `.proj` file from the package project. 3. Provide a default PackageTargetFramework for empty-BuildTargetFramework builds in the library's `.csproj` or `.vbproj`. ``` dotnet5.4 diff --git a/docs/coding-guidelines/project-guidelines.md b/docs/coding-guidelines/project-guidelines.md index d483cebe6cb057..55728730a3c518 100644 --- a/docs/coding-guidelines/project-guidelines.md +++ b/docs/coding-guidelines/project-guidelines.md @@ -10,9 +10,9 @@ once before you can iterate and work on a given library project. - Netstandard Library - Copy to `bin\ref\netstandard2.0` - NetFx targeting pack - Copy to `bin\ref\net472` - Build targeting pack - - Build src\ref.builds which builds all references assembly projects. For reference assembly project information see [ref](#ref) + - Build src\libraries\ref.proj which builds all references assembly projects. For reference assembly project information see [ref](#ref) - Build product - - Build src\src.builds which builds all the source library projects. For source library project information see [src](#src). + - Build src\libraries\src.proj which builds all the source library projects. For source library project information see [src](#src). - Sign product - Build src\sign.proj diff --git a/docs/project/library-servicing.md b/docs/project/library-servicing.md index 225cbaa8c7ad84..52d7f5ac06775c 100644 --- a/docs/project/library-servicing.md +++ b/docs/project/library-servicing.md @@ -33,9 +33,9 @@ Where the `AssemblyVersion` is set to the old version before updating. To determ If you incremented the `AssemblyVersion` in the last step, you'll also need to add an entry to [packageIndex.json](https://github.com/dotnet/runtime/blob/master/src/libraries/pkg/Microsoft.Private.PackageBaseline/packageIndex.json). Find the entry for your library in that file (again, making sure you're in the correct release branch), then find the subsection labeled `AssemblyVersionInPackageVersion`. There, add an entry that maps your new `AssemblyVersion` to your new `PackageVersion`. For an example, see [this PR](https://github.com/dotnet/runtime/commit/d0e4dcc7ebf008e7b6835cafbd03878c3a0e75f8#diff-ec9fd7a62cb0c494d86029014940382cR107), where we bumped the `PackageVersion` of `Microsoft.Diagnostics.Tracing.EventSource` from `2.0.0` to `2.0.1`, and bumped the `AssemblyVersion` from `2.0.0.0` to `2.0.1.0`. Therefore, we added an entry to `packageIndex.json` of the form `"2.0.1.0": "2.0.1"`. -## Add your package to packages.builds +## Add your package to libraries-packages.proj -In order to ensure that your package gets built, you need to add it to [packages.builds](https://github.com/dotnet/runtime/blob/master/src/libraries/packages.builds). In the linked example, we were building `System.Drawing.Common`. All you have to do is add a `Project` block inside the linked ItemGroup that matches the form of the linked example, but with `System.Drawing.Common` replaced by your library's name. Again, make sure to do this in the right servicing branch. +In order to ensure that your package gets built, you need to add it to [libraries-packages.proj](https://github.com/dotnet/runtime/blob/master/src/libraries/libraries-packages.proj). In the linked example, we were building `System.Drawing.Common`. All you have to do is add a `Project` block inside the linked ItemGroup that matches the form of the linked example, but with `System.Drawing.Common` replaced by your library's name. Again, make sure to do this in the right servicing branch. ## Test your changes diff --git a/docs/workflow/building/libraries/README.md b/docs/workflow/building/libraries/README.md index eaafa3eaa43da5..eecbcfe337c96d 100644 --- a/docs/workflow/building/libraries/README.md +++ b/docs/workflow/building/libraries/README.md @@ -81,9 +81,9 @@ The build settings (BuildTargetFramework, TargetOS, Configuration, Architecture) For more details on the build settings see [project-guidelines](../../../coding-guidelines/project-guidelines.md#build-pivots). -If you invoke the `build` script without any actions, the default action chain `-restore -build` is executed. You can chain multiple actions together (e.g., `-restore -build -buildtests`) and they will execute in the appropriate order. Note that if you specify actions like `-build` explicitly, you likely need to explicitly add `-restore` as well. +If you invoke the `build` script without any actions, the default action chain `-restore -build` is executed. -By default the `build` script only builds the product libraries and none of the tests. If you want to build the tests you can add the flag `-buildtests`. If you want to run the tests you can add the flag `-test`. To build and run the tests combine both arguments: `-buildtests -test`. To specify just the libraries, use `-subcategory libraries`. +By default the `build` script only builds the product libraries and none of the tests. If you want to include tests, you want to add the subset `-subset libtests`. If you want to run the tests you want to use the `-test` action instead of the `-build`, e.g. `build.cmd/sh -subsetcategory libraries -test`. To specify just the libraries, use `-subcategory libraries`. **Examples** - Building in release mode for platform x64 (restore and build are implicit here as no actions are passed in) @@ -93,7 +93,7 @@ By default the `build` script only builds the product libraries and none of the - Building the src assemblies and build and run tests (running all tests takes a considerable amount of time!) ```bash -./build.sh -subsetCategory libraries -restore -build -buildtests -test +./build.sh -subsetCategory libraries -restore -build -test ``` - Building for different target frameworks (restore and build are implicit again as no action is passed in) diff --git a/docs/workflow/debugging/libraries/debugging-packages.md b/docs/workflow/debugging/libraries/debugging-packages.md index be7953be8efb65..5b25a1ffb14fef 100644 --- a/docs/workflow/debugging/libraries/debugging-packages.md +++ b/docs/workflow/debugging/libraries/debugging-packages.md @@ -25,7 +25,7 @@ Assuming the current directory is `\src\contractname\`: Check the logs for output such as: ``` -Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:3) on node 1 +Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:3) on node 1 (Build target(s)). [...] @@ -37,7 +37,7 @@ CopyFilesToOutputDirectory: [...] -Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:4) on node 1 +Project "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" (2:4) on node 1 (Build target(s)). [...] @@ -86,7 +86,7 @@ Ensure that the right `BuildTargetFramework` (what we're testing) is set. To identify which of the combinations failed, search for the following pattern in the output: ``` -Project "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.builds" (1) is building "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj" +Project "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj" (1) is building "S:\c1\src\System.Net.ServicePoint\tests\System.Net.ServicePoint.Tests.csproj" (2:5) on node 1 (Build target(s)). ResolvePkgProjReferences: Resolved compile assets from .NETStandard,Version=v2.0: S:\c1\bin\ref\System.Net.ServicePoint\4.0.0.0\System.Net.ServicePoint.dll diff --git a/docs/workflow/testing/libraries/testing.md b/docs/workflow/testing/libraries/testing.md index 73a0ebced598ba..5a2228f277208c 100644 --- a/docs/workflow/testing/libraries/testing.md +++ b/docs/workflow/testing/libraries/testing.md @@ -7,7 +7,7 @@ To build the tests and run them you can call the libraries build script. **Examples** - The following shows how to build only the tests but not run them: ``` -libraries -buildtests +libraries -subset libtests ``` - The following builds and runs all tests in release configuration: @@ -20,17 +20,15 @@ libraries -test -c Release libraries -test /p:WithoutCategories=IgnoreForCI ``` -Unless you specifiy `/p:TestNoBuild=true`, test assemblies are implicitly built when invoking the `Test` target. +Unless you specifiy `-testnobuild`, test assemblies are implicitly built when invoking the `Test` action. - The following shows how to only test the libraries without building them ``` -libraries -test /p:TestNoBuild=true +libraries -test -testnobuild ``` ## Running tests on the command line -To build tests you need to pass the `-buildtests` flag to `build.cmd/sh` or run `libraries -restore -build -buildtests` (note that you need to specify `-restore` and `-build` additionally as those are only implicit if no action is passed in). - -If you are interested in building and running the tests only for a specific library, then there are two different ways to do it: +To build tests you need to specify the `test` subset when invoking build.cmd/sh: `libraries -subset libtests`. The easiest (and recommended) way to build and run the tests for a specific library, is to invoke the `Test` target on that library: ```cmd diff --git a/eng/Analyzers.props b/eng/Analyzers.props index 2a24156d56f64f..8d2cb20609f2b8 100644 --- a/eng/Analyzers.props +++ b/eng/Analyzers.props @@ -1,6 +1,8 @@ $(MSBuildThisFileDirectory)CodeAnalysis.ruleset + + false diff --git a/eng/Build.props b/eng/Build.props index 95f52b37593d49..dd722c64b983e3 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -1,98 +1,8 @@ - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(RepoTasksDir) - $(ArtifactsObjDir)runtime.tasks\Debug\build-semaphore.txt - - - - - - - + + true + + + + diff --git a/eng/Configurations.props b/eng/Configurations.props index eaa276ebdaa3e7..b4417f2205ee70 100644 --- a/eng/Configurations.props +++ b/eng/Configurations.props @@ -1,4 +1,29 @@ + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local')) + $([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs')) + $([MSBuild]::NormalizePath('$(ArtifactsDir)', 'tmp', '$(Configuration)', 'RuntimeOS.props')) + + + + + 5.0 + .NETCoreApp,Version=v$(NETCoreAppCurrentVersion) + netcoreapp$(NETCoreAppCurrentVersion) + net472 + + $(Configuration) @@ -21,4 +46,11 @@ $(TargetOS) $(TargetOS) - + + + + true + + true + + \ No newline at end of file diff --git a/eng/SubsetValidation.targets b/eng/SubsetValidation.targets new file mode 100644 index 00000000000000..deca513d3f4cc4 --- /dev/null +++ b/eng/SubsetValidation.targets @@ -0,0 +1,48 @@ + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/eng/Subsets.props b/eng/Subsets.props index 386bed45f449cb..55b261cfb61f20 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -47,31 +47,31 @@ artifacts to the test layout, then running the test subset. --> - - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries')) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr')) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono')) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer')) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local')) - $([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks')) - - libraries-installer-coreclr-mono libraries-installer-mono libraries-mono + + + + runtime-linuxdac-corelib-nativecorelib-tools-packages + + llvm- + $(DefaultMonoSubsets)runtime-corelib-packages + + depprojs-native-ref-src-pretest-packages + $(DefaultLibrariesSubsets)-libtests + corehost-managed-depproj-pkgproj-bundle-installers-test depproj-pkgproj - - all - runtime-linuxdac-corelib-nativecorelib-tools-packages - all + + <_subsetCategory Condition="'$(SubsetCategory)' != ''">$(SubsetCategory.ToLowerInvariant()) <_subsetCategory Condition="'$(SubsetCategory)' == ''">$(DefaultSubsetCategories) <_subset Condition="'$(Subset)' != ''">$(Subset.ToLowerInvariant()) - <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(DefaultInstallerSubsets) - <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(_subset)-$(DefaultLibrariesSubsets) + <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('libraries'))">$(DefaultLibrariesSubsets) + <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('installer'))">$(_subset)-$(DefaultInstallerSubsets) <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('coreclr'))">$(_subset)-$(DefaultCoreClrSubsets) <_subset Condition="'$(Subset)' == '' and $(_subsetCategory.Contains('mono'))">$(_subset)-$(DefaultMonoSubsets) @@ -86,11 +86,13 @@ - - - - + + + + + + @@ -102,7 +104,9 @@ - + + + @@ -115,131 +119,153 @@ - - - - - - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - Configuration=$(CoreCLRConfiguration) - - - - - - Configuration=$(MonoConfiguration) - - - - - - Configuration=$(LibrariesConfiguration) - + + + + false + false + false + false + Configuration=$(CoreCLRConfiguration) + + + false + false + false + false + Configuration=$(MonoConfiguration) + + + false + false + false + false + Configuration=$(LibrariesConfiguration) + + + false + true + false + - - + - - + - - + - - + - - + - - - - - - + + + + + - - + + - - - - + + + + + + + + + + + + + + - - - + + + Configuration=$(LibrariesConfiguration) + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + - + + + - + - + @@ -249,7 +275,7 @@ - + diff --git a/eng/Tools.props b/eng/Tools.props index 32fc0f6f6d4fcf..f7746f80c9c343 100644 --- a/eng/Tools.props +++ b/eng/Tools.props @@ -1,50 +1,18 @@ - false - true <_RepoToolManifest Condition="'$(ContinuousIntegrationBuild)' == 'true'" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6095aa5637cf28..72011a01e864f5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -155,7 +155,7 @@ 0375524a91a47ca4db3ee1be548f74bab7e26e76 - https://github.com/dotnet/corefx + https://github.com/dotnet/runtime cf64918877d98577363bb40d5eafac52beb80a79 diff --git a/eng/Versions.props b/eng/Versions.props index 2d0c300bee4f3e..6e1cc41acb0731 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -18,10 +18,8 @@ true true false - - true - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs')) + + 3.6.0-2.20166.2 dotnet $(ContainerName) @@ -61,6 +59,7 @@ 5.0.0-beta.20171.1 5.0.0-beta.20171.1 + 5.0.0-beta.20175.1 5.0.0-beta.20171.1 5.0.0-beta.20171.1 5.0.0-beta.20171.1 @@ -77,7 +76,7 @@ 3.0.0 5.0.0-preview.4.20202.18 - 5.0.0-alpha.1.20076.2 + 5.0.0-preview.4.20202.18 5.0.0-alpha.1.19563.3 diff --git a/eng/build.ps1 b/eng/build.ps1 index 3e2f07a8d19fd1..17c61ae492d9ec 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -1,9 +1,7 @@ [CmdletBinding(PositionalBinding=$false)] Param( [switch][Alias('h')]$help, - [switch][Alias('b')]$build, [switch][Alias('t')]$test, - [switch]$buildtests, [string[]][Alias('c')]$configuration = @("Debug"), [string][Alias('f')]$framework, [string]$vs, @@ -11,10 +9,11 @@ Param( [switch]$allconfigurations, [switch]$coverage, [string]$testscope, + [switch]$testnobuild, [string[]][Alias('a')]$arch = @([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()), [string]$subsetCategory, [string]$subset, - [ValidateSet("Debug","Release","Checked")][string]$runtimeConfiguration = "Debug", + [ValidateSet("Debug","Release","Checked")][string]$runtimeConfiguration, [ValidateSet("Debug","Release")][string]$librariesConfiguration, [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties ) @@ -37,7 +36,6 @@ function Get-Help() { Write-Host "Actions (defaults to -restore -build):" Write-Host " -restore Restore dependencies (short: -r)" Write-Host " -build Build all source projects (short: -b)" - Write-Host " -buildtests Build all test projects" Write-Host " -rebuild Rebuild all source projects" Write-Host " -test Build and run tests (short: -t)" Write-Host " -pack Package build outputs into NuGet packages" @@ -50,6 +48,7 @@ function Get-Help() { Write-Host " -framework Build framework: netcoreapp5.0 or net472 (short: -f)" Write-Host " -coverage Collect code coverage when testing" Write-Host " -testscope Scope tests, allowed values: innerloop, outerloop, all" + Write-Host " -testnobuild Skip building tests when invoking -test" Write-Host " -allconfigurations Build packages for all build configurations" Write-Host "" @@ -102,8 +101,11 @@ if ($vs) { # Put our local dotnet.exe on PATH first so Visual Studio knows which one to use $env:PATH=($env:DOTNET_ROOT + ";" + $env:PATH); - # Respect the RuntimeConfiguration variable for building inside VS with different runtime configurations - $env:RUNTIMECONFIGURATION=$runtimeConfiguration + if ($runtimeConfiguration) + { + # Respect the RuntimeConfiguration variable for building inside VS with different runtime configurations + $env:RUNTIMECONFIGURATION=$runtimeConfiguration + } # Launch Visual Studio with the locally defined environment variables ."$vs" @@ -112,7 +114,7 @@ if ($vs) { } # Check if an action is passed in -$actions = "r","restore","b","build","buildtests","rebuild","t","test","pack","sign","publish","clean" +$actions = "b","build","r","restore","rebuild","sign","testnobuild","publish","clean" $actionPassedIn = @(Compare-Object -ReferenceObject @($PSBoundParameters.Keys) -DifferenceObject $actions -ExcludeDifferent -IncludeEqual).Length -ne 0 if ($null -ne $properties -and $actionPassedIn -ne $true) { $actionPassedIn = @(Compare-Object -ReferenceObject $properties -DifferenceObject $actions.ForEach({ "-" + $_ }) -ExcludeDifferent -IncludeEqual).Length -ne 0 @@ -122,17 +124,16 @@ if (!$actionPassedIn) { $arguments = "-restore -build" } -$possibleDirToBuild = if($properties.Length -gt 0) { $properties[0]; } else { $null } +$solutionLeaf = if($properties.Length -gt 0) { $properties[0]; } else { $null } -if ($null -ne $possibleDirToBuild -and $subsetCategory -eq "libraries") { - $dtb = $possibleDirToBuild.TrimEnd('\') - if (Test-Path $dtb) { - $properties[0] = "/p:DirectoryToBuild=$(Resolve-Path $dtb)" +if ($null -ne $solutionLeaf) { + if (Test-Path $solutionLeaf) { + $properties[0] = "-projects $(Resolve-Path $solutionLeaf)" } else { - $dtb = Join-Path "$PSSCriptRoot\..\src\libraries" $dtb - if (Test-Path $dtb) { - $properties[0] = "/p:DirectoryToBuild=$(Resolve-Path $dtb)" + $dtb = Join-Path "$PSSCriptRoot\..\src\libraries" $solutionLeaf | Join-Path -ChildPath "$solutionLeaf.sln" + if (Test-Path $dtb) { + $properties[0] = "-projects $(Resolve-Path $dtb)" } } } @@ -141,18 +142,16 @@ foreach ($argument in $PSBoundParameters.Keys) { switch($argument) { - "build" { $arguments += " -build" } - "buildtests" { if ($build -eq $true) { $arguments += " /p:BuildTests=true" } else { $arguments += " -build /p:BuildTests=only" } } - "test" { $arguments += " -test" } - "runtimeConfiguration" { $arguments += " /p:RuntimeConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" } - "framework" { $arguments += " /p:BuildTargetFramework=$($PSBoundParameters[$argument].ToLowerInvariant())" } - "os" { $arguments += " /p:TargetOS=$($PSBoundParameters[$argument])" } - "allconfigurations" { $arguments += " /p:BuildAllConfigurations=true" } - "properties" { $arguments += " " + $properties } + "runtimeConfiguration" { $arguments += " /p:RuntimeConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" } + "librariesConfiguration" { $arguments += " /p:LibrariesConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" } + "framework" { $arguments += " /p:BuildTargetFramework=$($PSBoundParameters[$argument].ToLowerInvariant())" } + "os" { $arguments += " /p:TargetOS=$($PSBoundParameters[$argument])" } + "allconfigurations" { $arguments += " /p:BuildAllConfigurations=true" } + "properties" { $arguments += " " + $properties } # configuration and arch can be specified multiple times, so they should be no-ops here - "configuration" {} - "arch" {} - default { $arguments += " /p:$argument=$($PSBoundParameters[$argument])" } + "configuration" {} + "arch" {} + default { $arguments += " /p:$argument=$($PSBoundParameters[$argument])" } } } diff --git a/eng/build.sh b/eng/build.sh index 812b820a17b35f..36970ae5e45e87 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -33,7 +33,6 @@ usage() echo "Actions (defaults to --restore --build):" echo " --restore Restore dependencies (short: -r)" echo " --build Build all source projects (short: -b)" - echo " --buildtests Build all test projects" echo " --rebuild Rebuild all source projects" echo " --test Build and run tests (short: -t)" echo " --pack Package build outputs into NuGet packages" @@ -46,6 +45,7 @@ usage() echo " --framework Build framework: netcoreapp5.0 or net472 (short: -f)" echo " --coverage Collect code coverage when testing" echo " --testscope Test scope, allowed values: innerloop, outerloop, all" + echo " --testnobuild Skip building tests when invoking -test" echo " --allconfigurations Build packages for all build configurations" echo "" @@ -83,15 +83,14 @@ arguments='' cmakeargs='' extraargs='' build=false -buildtests=false subsetCategory='' -checkedPossibleDirectoryToBuild=false +checkedSolutionBuild=false crossBuild=0 source $scriptroot/native/init-os-and-arch.sh # Check if an action is passed in -declare -a actions=("r" "restore" "b" "build" "buildtests" "rebuild" "t" "test" "pack" "sign" "publish" "clean") +declare -a actions=("b" "build" "r" "restore" "rebuild" "testnobuild" "sign" "publish" "clean") actInt=($(comm -12 <(printf '%s\n' "${actions[@]/#/-}" | sort) <(printf '%s\n' "${@/#--/-}" | sort))) while [[ $# > 0 ]]; do @@ -138,14 +137,14 @@ while [[ $# > 0 ]]; do arguments="$arguments -build" shift 1 ;; - -buildtests) - buildtests=true - shift 1 - ;; -testscope) arguments="$arguments /p:TestScope=$2" shift 2 ;; + -testnobuild) + arguments="$arguments /p:TestNoBuild=$2" + shift 2 + ;; -coverage) arguments="$arguments /p:Coverage=true" shift 1 @@ -179,13 +178,13 @@ while [[ $# > 0 ]]; do *) ea=$1 - if [[ $checkedPossibleDirectoryToBuild == false ]] && [[ $subsetCategory == "libraries" ]]; then - checkedPossibleDirectoryToBuild=true + if [[ $checkedSolutionBuild == false ]]; then + checkedSolutionBuild=true if [[ -d "$1" ]]; then - ea="/p:DirectoryToBuild=$1" - elif [[ -d "$scriptroot/../src/libraries/$1" ]]; then - ea="/p:DirectoryToBuild=$scriptroot/../src/libraries/$1" + ea="-projects $1" + elif [[ -d "$scriptroot/../src/libraries/$1/$1.sln" ]]; then + ea="-projects $scriptroot/../src/libraries/$1/$1.sln" fi fi @@ -195,14 +194,6 @@ while [[ $# > 0 ]]; do esac done -if [[ "$buildtests" == true ]]; then - if [[ "$build" == true ]]; then - arguments="$arguments /p:BuildTests=true" - else - arguments="$arguments -build /p:BuildTests=only" - fi -fi - if [ ${#actInt[@]} -eq 0 ]; then arguments="-restore -build $arguments" fi diff --git a/eng/codeAnalysis.targets b/eng/codeAnalysis.targets deleted file mode 100644 index de4eb79cd35db1..00000000000000 --- a/eng/codeAnalysis.targets +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - <_AnalyzersToFileName Include="@(Analyzer -> '%(FileName)')"> - %(Identity) - - - - - <_AnalyzersToRemove Include="@(_AnalyzersToFileName)" Condition="'@(AnalyzersToExclude)' == '@(_AnalyzersToFileName)' and '%(Identity)' != ''" /> - - - - - <_AnalyzersToRemove Include="@(_AnalyzersToFileName)" Exclude="@(AnalyzersToInclude)" /> - <_missingAnalyzersToInclude Include="@(AnalyzersToInclude)" Exclude="@(_AnalyzersToFileName)" /> - - - - - - - - - $(ResolveReferencesDependsOn); - CalculateAnalyzersForBuildTime; - - - \ No newline at end of file diff --git a/eng/docker/build-docker-sdk.ps1 b/eng/docker/build-docker-sdk.ps1 index a7c3094077dda0..c1669d6ef11216 100755 --- a/eng/docker/build-docker-sdk.ps1 +++ b/eng/docker/build-docker-sdk.ps1 @@ -19,8 +19,7 @@ if ($buildWindowsContainers) # Due to size concerns, we don't currently do docker builds on windows. # Build on the host machine, then simply copy artifacts to the target docker image. # This should result in significantly lower build times, for now. - & "$REPO_ROOT_DIR/coreclr.cmd" -c Release - & "$REPO_ROOT_DIR/libraries.cmd" -ci -c $configuration -runtimeConfiguration release + & "$REPO_ROOT_DIR/build.cmd" -ci -subsetcategory coreclr-libraries -runtimeconfiguration release -c $configuration # Dockerize the build artifacts if($privateAspNetCore) diff --git a/eng/docker/libraries-sdk.linux.Dockerfile b/eng/docker/libraries-sdk.linux.Dockerfile index efba4fb7c309d4..fce6381e71028a 100644 --- a/eng/docker/libraries-sdk.linux.Dockerfile +++ b/eng/docker/libraries-sdk.linux.Dockerfile @@ -8,8 +8,7 @@ WORKDIR /repo COPY . . ARG CONFIGURATION=Release -RUN ./src/coreclr/build.sh -release -skiptests -clang9 && \ - ./libraries.sh -c $CONFIGURATION -runtimeconfiguration release +RUN ./build.sh -ci -subsetcategory coreclr-libraries -runtimeconfiguration release -c $CONFIGURATION FROM $SDK_BASE_IMAGE as target diff --git a/eng/illink.targets b/eng/illink.targets index d3525a15403019..cecc5c2a5a3699 100644 --- a/eng/illink.targets +++ b/eng/illink.targets @@ -7,6 +7,15 @@ + + + + $([MSBuild]::NormalizeDirectory('$(PkgILLink_Tasks)', 'tools')) diff --git a/eng/packaging.props b/eng/packaging.props index 1e7d8bd813b8a3..eea246c0980803 100644 --- a/eng/packaging.props +++ b/eng/packaging.props @@ -1,5 +1,6 @@ + $([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'reports')) $(PkgDir)descriptions.json $(RepoRoot)LICENSE.TXT $(RepoRoot)THIRD-PARTY-NOTICES.TXT diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index a1c9914193d543..402b2aefadf0d2 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -59,15 +59,12 @@ jobs: - ${{ format('coreclr_corelib_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, 'linux', parameters.osSubgroup, 'x64', parameters.liveRuntimeBuildConfig) }} variables: - - _skipTestRestoreArg: /p:SkipTestRestore=true - - _buildAction: -build + - _addtionalBuildArguments: '' - ${{ parameters.variables }} - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - EMSDK_PATH: $(Build.BinariesDirectory)/emsdk - ${{ if eq(parameters.runTests, true) }}: - - _buildAction: -build -buildtests /p:ArchiveTests=true - - ${{ if ne(parameters.framework, 'allConfigurations') }}: - - _skipTestRestoreArg: /p:SkipTestRestore=false + - _addtionalBuildArguments: /p:IncludeLibrariesTestSubset=true /p:ArchiveTests=true - ${{ parameters.variables }} @@ -95,13 +92,10 @@ jobs: parameters: installDotnet: true - - script: $(_buildScript) -restore $(_buildArguments) $(_skipTestRestoreArg) /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/Restore.binlog - displayName: Restore - - script: $(_buildScript) - $(_buildAction) $(_buildArguments) - displayName: Build + $(_addtionalBuildArguments) + displayName: Restore and Build Product - ${{ if eq(parameters.runTests, false) }}: - ${{ if ne(parameters.isOfficialBuild, true) }}: diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 0a44ef8f52d824..b75fd1de036928 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -43,7 +43,6 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - _archiveTestsParameter: /p:ArchiveTests=true - - _skipTestRestoreArg: /p:SkipTestRestore=false - ${{ parameters.variables }} @@ -55,15 +54,12 @@ jobs: artifactFileName: $(librariesBuildArtifactName)$(archiveExtension) unpackFolder: $(Build.SourcesDirectory)/artifacts cleanUnpackFolder: false - - - script: $(_buildScript) -restore $(_buildArguments) $(_skipTestRestoreArg) - displayName: Restore - script: $(_buildScript) - -buildtests + -subset pretest-libtests $(_buildArguments) $(_archiveTestsParameter) - displayName: Build + displayName: Restore and Build - template: /eng/pipelines/common/upload-artifact-step.yml parameters: diff --git a/eng/pipelines/libraries/enterprise/linux.yml b/eng/pipelines/libraries/enterprise/linux.yml index 4cf1c7ded3827c..017ca39dbb0cce 100644 --- a/eng/pipelines/libraries/enterprise/linux.yml +++ b/eng/pipelines/libraries/enterprise/linux.yml @@ -26,7 +26,7 @@ variables: - name: enterpriseTestsSetup value: $(sourcesRoot)/Common/tests/System/Net/EnterpriseTests/setup - name: containerRunTestsCommand - value: /repo/.dotnet/dotnet build /t:test --no-restore + value: /repo/.dotnet/dotnet build /t:test - name: containerLibrariesRoot value: /repo/src/libraries @@ -50,7 +50,7 @@ steps: displayName: Test linuxclient connection to web server - bash: | - docker exec linuxclient bash -c '/repo/src/coreclr/build.sh -release -skipnuget -clang9 && /repo/libraries.sh /p:CoreCLRConfiguration=Release' + docker exec linuxclient bash -c '/repo/build.sh -subsetcategory coreclr-libraries -runtimeconfiguration release -ci' displayName: Build product sources - bash: | diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index 6035ec9730c7bf..951164f8cc21c5 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -52,7 +52,6 @@ jobs: variables: - librariesTestsArtifactName: ${{ format('libraries_test_assets_{0}_{1}_{2}', parameters.osGroup, parameters.dependsOnTestArchitecture, parameters.dependsOnTestBuildConfiguration) }} - _archiveTestsParameter: /p:ArchiveTests=true - - _skipTestRestoreArg: /p:SkipTestRestore=false - ${{ parameters.variables }} steps: @@ -73,24 +72,12 @@ jobs: artifactFileName: $(librariesTestsArtifactName)$(archiveExtension) - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - - script: $(_msbuildCommand) src/libraries/restore/runtime/runtime.depproj - $(_runtimeArtifactsPathArg) - $(_runtimeOSArg) + - script: $(_buildScript) + -subset pretest + $(_buildArguments) /p:RuntimeFlavor=${{ parameters.runtimeFlavor }} - /p:TargetArchitecture=${{ parameters.archType }} - /p:Configuration=${{ parameters.buildConfig }} /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/overrideRuntimeFromLiveDrop.binlog - displayName: Override $(runtimeFlavorName) from live drop - - - script: $(_buildScript) -projects $(Build.SourcesDirectory)/src/libraries/pretest.proj - $(_runtimeArtifactsPathArg) - $(_runtimeOSArg) - /p:RuntimeFlavor=${{ parameters.runtimeFlavor }} - /p:TargetArchitecture=${{ parameters.archType }} - /p:Configuration=${{ parameters.buildConfig }} - /p:SkipBuildProjects=true - /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/pretest.binlog - displayName: Build PreTest to Generate Deps Json File + displayName: Prepare TestHost with runtime $(runtimeFlavorName) - template: /eng/pipelines/libraries/helix.yml parameters: diff --git a/eng/restore/docs.targets b/eng/restore/docs.targets index b5d9ce90bb55f1..2437815a0f3309 100644 --- a/eng/restore/docs.targets +++ b/eng/restore/docs.targets @@ -1,7 +1,7 @@ - + diff --git a/src/libraries/restore/harvestPackages/harvestPackages.depproj b/eng/restore/harvestPackages.targets similarity index 56% rename from src/libraries/restore/harvestPackages/harvestPackages.depproj rename to eng/restore/harvestPackages.targets index 2ae20ecda6e67c..152888c95975f9 100644 --- a/src/libraries/restore/harvestPackages/harvestPackages.depproj +++ b/eng/restore/harvestPackages.targets @@ -1,15 +1,12 @@ - + - netstandard2.0 + $(NuGetPackageRoot)microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\tools\ + $(PackagingTaskAssembly)netcoreapp2.1\ + $(PackagingTaskAssembly)net472\ + $(PackagingTaskAssembly)Microsoft.DotNet.Build.Tasks.Packaging.dll - - - - - + <_AllPkgProjs Include="$(LibrariesProjectRoot)*\pkg\**\*.pkgproj" /> @@ -20,10 +17,10 @@ - + LatestPackages="@(_AllPkgProjsToPackageIdentity)" + PackageIndexes="$(PackageIndexFile)" + DoNotAllowVersionsFromSameRelease="true"> + @@ -40,5 +37,4 @@ - \ No newline at end of file diff --git a/eng/restore/optimizationData.targets b/eng/restore/optimizationData.targets index 47c81d6d7c3a8c..a4bbe9645b6686 100644 --- a/eng/restore/optimizationData.targets +++ b/eng/restore/optimizationData.targets @@ -1,11 +1,11 @@  - - - - - + + + + + @@ -24,6 +24,7 @@ <_optimizationDataSourceFile Include="%(IBCPackage.PackagePath)\**\*.dll;%(IBCPackage.PackagePath)\**\*.ibc" SubdirectoryName="%(IBCPackage.SubdirectoryName)" /> + - + false unused - - $(ToolSetCommonDirectory)Tools.Analyzers.props - true - @@ -28,4 +22,4 @@ false false - \ No newline at end of file + diff --git a/eng/restore/repoRestore.targets b/eng/restore/repoRestore.targets index d99f198e1a5fbd..a430b67fee1fff 100644 --- a/eng/restore/repoRestore.targets +++ b/eng/restore/repoRestore.targets @@ -4,8 +4,6 @@ Unknown - - - + diff --git a/eng/testing/tests.props b/eng/testing/tests.props index eaca9c667f09fb..dfaabfa18db038 100644 --- a/eng/testing/tests.props +++ b/eng/testing/tests.props @@ -2,8 +2,8 @@ $(MSBuildProjectName) xunit - - Build + + Build $(TestDependsOn);GenerateRunScript;RunTests diff --git a/global.json b/global.json index a17cc45a868b6d..76b4cde1330850 100644 --- a/global.json +++ b/global.json @@ -1,24 +1,24 @@ { "sdk": { - "version": "3.1.101", + "version": "5.0.100-preview.2.20176.6", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "5.0.100-preview.3.20170.6" + "dotnet": "5.0.100-preview.4.20202.8" }, "native-tools": { "cmake": "3.14.2", "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20171.1", - "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20171.1", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "5.0.0-beta.20175.1", + "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20175.1", "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20171.1", "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20171.1", "FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "5.0.0-preview.4.20202.18", "Microsoft.Build.NoTargets": "1.0.53", - "Microsoft.Build.Traversal": "2.0.2" + "Microsoft.Build.Traversal": "2.0.34" } } diff --git a/src/coreclr/build.cmd b/src/coreclr/build.cmd index 19757613a653cc..a4955fb4c52a35 100644 --- a/src/coreclr/build.cmd +++ b/src/coreclr/build.cmd @@ -779,7 +779,7 @@ if %__BuildPackages% EQU 1 ( REM The conditions as to what to build are captured in the builds file. REM Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__RepoRootDir%\eng\common\build.ps1"^ - -r -b -projects %__SourceDir%\.nuget\packages.builds^ + -r -b -projects %__SourceDir%\.nuget\coreclr-packages.proj^ -verbosity minimal /clp:nosummary /nodeReuse:false /bl:!__BuildLog!^ /p:PortableBuild=true^ /p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs% diff --git a/src/coreclr/build.sh b/src/coreclr/build.sh index edfe44ae7985ea..634bcb7af3106e 100755 --- a/src/coreclr/build.sh +++ b/src/coreclr/build.sh @@ -299,7 +299,7 @@ generate_NugetPackages() echo "ROOTFS_DIR is $ROOTFS_DIR" # Build the packages # Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build - "$__RepoRootDir"/eng/common/build.sh -r -b -projects "$__SourceDir"/.nuget/packages.builds \ + "$__RepoRootDir"/eng/common/build.sh -r -b -projects "$__SourceDir"/.nuget/coreclr-packages.proj \ -verbosity minimal -bl:"$__LogsDir/Nuget_$__TargetOS__$__BuildArch__$__BuildType.binlog" \ /p:PortableBuild=true \ /p:"__IntermediatesDir=$__IntermediatesDir" /p:"__RootBinDir=$__RootBinDir" /p:"__DoCrossArchBuild=$__CrossBuild" \ diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj similarity index 100% rename from src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds rename to src/coreclr/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.proj diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj similarity index 100% rename from src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds rename to src/coreclr/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.proj diff --git a/src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds b/src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj similarity index 100% rename from src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds rename to src/coreclr/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.proj diff --git a/src/coreclr/src/.nuget/packages.builds b/src/coreclr/src/.nuget/coreclr-packages.proj similarity index 80% rename from src/coreclr/src/.nuget/packages.builds rename to src/coreclr/src/.nuget/coreclr-packages.proj index 7fcc996c04156c..ad5700b52b8c84 100644 --- a/src/coreclr/src/.nuget/packages.builds +++ b/src/coreclr/src/.nuget/coreclr-packages.proj @@ -1,12 +1,14 @@ - + + + - - - + + + + AdditionalProperties="%(ProjectReference.AdditionalProperties);FileVersion=$(FileVersion)" /> + + + + + diff --git a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj index c8a6bff4505e6a..e1d9a09182ef60 100644 --- a/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj +++ b/src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj @@ -397,11 +397,6 @@ - - - - - diff --git a/src/installer/pkg/Directory.Build.props b/src/installer/pkg/Directory.Build.props index 6e77e958d73db7..9f4442493b6774 100644 --- a/src/installer/pkg/Directory.Build.props +++ b/src/installer/pkg/Directory.Build.props @@ -6,6 +6,11 @@ $(BaseOutputRootPath)corehost + + + false + + $(RepoRoot)LICENSE.TXT $(RepoRoot)THIRD-PARTY-NOTICES.TXT diff --git a/src/installer/pkg/packaging/installers.proj b/src/installer/pkg/packaging/installers.proj index ed3d50f9cb50f0..29abbe02d6559d 100644 --- a/src/installer/pkg/packaging/installers.proj +++ b/src/installer/pkg/packaging/installers.proj @@ -68,11 +68,11 @@ - - + <_InstallerProject Include="$(InstallerProjectRoot)pkg\projects\**\*.pkgproj" /> + <_InstallerProject Include="$(InstallerProjectRoot)pkg\projects\**\*.sfxproj" /> - + diff --git a/src/installer/pkg/projects/Directory.Build.props b/src/installer/pkg/projects/Directory.Build.props index d62f9f540dd57d..40403c6fcd07f4 100644 --- a/src/installer/pkg/projects/Directory.Build.props +++ b/src/installer/pkg/projects/Directory.Build.props @@ -64,7 +64,7 @@ Include="$(SigningToolsDir)\SignR2RBinaries.proj" /> - + $(MSBuildProjectName) diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props index e808f9101d0f2a..c1902174704b52 100644 --- a/src/libraries/Directory.Build.props +++ b/src/libraries/Directory.Build.props @@ -16,8 +16,7 @@ $([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectDirectory), 'src%24')) true $(RepositoryEngineeringDir)depProj.common.targets - $([MSBuild]::NormalizePath('$(ArtifactsDir)', 'tmp', '$(Configuration)', 'RuntimeOS.props')) - $(LibrariesProjectRoot)\OSGroups.json + $(LibrariesProjectRoot)OSGroups.json netcoreapp5.0 false @@ -29,7 +28,6 @@ - @@ -65,17 +63,10 @@ false - - true - - - - - $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'native', '$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)')) - + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', '$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)')) $([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'pkg')) @@ -90,6 +81,13 @@ $(RepositoryEngineeringDir)DefaultGenApiDocIds.txt,$(RepositoryEngineeringDir)ApiCompatExcludeAttributes.txt + + + + + + + <_runtimeOSVersionIndex>$(RuntimeOS.IndexOfAny(".-0123456789")) <_runtimeOSFamily Condition="'$(_runtimeOSVersionIndex)' != '-1'">$(RuntimeOS.SubString(0, $(_runtimeOSVersionIndex))) @@ -124,6 +122,7 @@ osx-x64 + $(ToolRuntimeRID) <_portableOS Condition="'$(TargetOS)' == 'Unix' and '$(_runtimeOSFamily)' != 'osx' and '$(_runtimeOSFamily)' != 'FreeBSD' and '$(_runtimeOS)' != 'linux-musl'">linux @@ -230,10 +229,10 @@ strict;nullablePublicOnly 4 true - + false true - true + true @@ -256,7 +255,6 @@ $([MSBuild]::NormalizeDirectory('$(RefRootPath)', 'netstandard2.0')) $([MSBuild]::NormalizeDirectory('$(RefRootPath)', 'netstandard2.1')) $([MSBuild]::NormalizeDirectory('$(RefRootPath)', '$(NetFrameworkCurrent)')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsToolsetDir)', 'ilasm')) $(TargetOS).$(Platform).$(Configuration) @@ -287,6 +285,12 @@ + + true + + + + false @@ -328,7 +332,7 @@ true true - true + true diff --git a/src/libraries/Directory.Build.targets b/src/libraries/Directory.Build.targets index 02fd8c7f1d25e6..896ee3207d25ae 100644 --- a/src/libraries/Directory.Build.targets +++ b/src/libraries/Directory.Build.targets @@ -119,12 +119,18 @@ - - + - + + + + + + + + <_RefSourceFileOutputPath>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '..', 'ref', '$(AssemblyName).cs')) diff --git a/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj b/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj index fa4a9e15cc7a4a..ebc496c00800d3 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Json/tests/Microsoft.Extensions.Configuration.Json.Tests.csproj @@ -19,6 +19,7 @@ + diff --git a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj index b5c7dd08cc2bb2..6f5aa314eabcf6 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/tests/Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj index 064b1a4fd35284..2ce3453a2d2ff6 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/Microsoft.Extensions.DependencyInjection.Tests.csproj @@ -17,7 +17,10 @@ - + + + + diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json b/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json deleted file mode 100644 index eff47a28bdcac9..00000000000000 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/tests/xunit.runner.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "methodDisplay": "method", - "appDomain": "denied" -} diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj index e7463ccec23c43..d5c329eb9479a1 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyModel/tests/Microsoft.Extensions.DependencyModel.Tests.csproj @@ -3,6 +3,7 @@ $(NetCoreAppCurrent);$(NetFrameworkCurrent) true + true @@ -13,6 +14,8 @@ + + diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj index 9201e0f1dbeead..08a860a8a580ee 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/tests/Microsoft.Extensions.Logging.EventSource.Tests.csproj @@ -7,5 +7,6 @@ + diff --git a/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj b/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj index 436ecca9fbe2d5..e8774341649cad 100644 --- a/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj +++ b/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj @@ -18,6 +18,8 @@ + + false $(NetCoreAppCurrent);$(NetCoreAppCurrent)-Windows_NT diff --git a/src/libraries/Native/native-binplace.proj b/src/libraries/Native/native-binplace.proj index 99e71eb38560b5..2631ea732755c0 100644 --- a/src/libraries/Native/native-binplace.proj +++ b/src/libraries/Native/native-binplace.proj @@ -1,29 +1,29 @@ - - - - - - - - + + $(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkCurrent) $(BuildTargetFramework) + + + - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata index fc0e6b2b055239..d9aba2e39deb7b 100644 --- a/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata +++ b/src/libraries/System.Diagnostics.EventLog/src/PinvokeAnalyzerExceptionList.analyzerdata @@ -1,4 +1,5 @@ kernel32.dll!CreateFile +kernel32.dll!FormatMessage advapi32.dll!ClearEventLog advapi32.dll!CloseEventLog advapi32.dll!GetNumberOfEventLogRecords @@ -6,6 +7,8 @@ advapi32.dll!GetOldestEventLogRecord advapi32.dll!NotifyChangeEventLog advapi32.dll!OpenEventLog advapi32.dll!ReadEventLog +advapi32.dll!ReportEvent +advapi32.dll!RegisterEventSource wevtapi.dll!EvtQuery wevtapi.dll!EvtSeek wevtapi.dll!EvtSubscribe @@ -40,4 +43,3 @@ wevtapi.dll!EvtFormatMessage wevtapi.dll!EvtOpenSession wevtapi.dll!EvtUpdateBookmark wevtapi.dll!EvtCreateBookmark - diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata index d8182a70876ea1..65be021301f538 100644 --- a/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata +++ b/src/libraries/System.Diagnostics.PerformanceCounter/src/PinvokeAnalyzerExceptionList.analyzerdata @@ -1 +1,3 @@ +advapi32.dll!ConvertStringSecurityDescriptorToSecurityDescriptor +kernel32.dll!LoadLibrary perfcounter.dll!FormatFromRawValue \ No newline at end of file diff --git a/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp b/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp new file mode 100644 index 00000000000000..a6ed64c19d4ea8 --- /dev/null +++ b/src/libraries/System.Management/src/PinvokeAnalyzerExceptionList.analyzerdata.netcoreapp @@ -0,0 +1 @@ +kernel32.dll!LoadLibrary \ No newline at end of file diff --git a/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj b/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj index 599da9a519e917..d43fb980f5ea19 100644 --- a/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj +++ b/src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj @@ -199,6 +199,7 @@ + \ No newline at end of file diff --git a/src/libraries/System.Net.Http/src/PInvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Net.Http/src/PinvokeAnalyzerExceptionList.analyzerdata similarity index 100% rename from src/libraries/System.Net.Http/src/PInvokeAnalyzerExceptionList.analyzerdata rename to src/libraries/System.Net.Http/src/PinvokeAnalyzerExceptionList.analyzerdata diff --git a/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata new file mode 100644 index 00000000000000..e41642f9e083ad --- /dev/null +++ b/src/libraries/System.Net.Sockets/src/PinvokeAnalyzerExceptionList.analyzerdata @@ -0,0 +1 @@ +ws2_32.dll!WSADuplicateSocket \ No newline at end of file diff --git a/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj b/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj index 3885371c63fd3b..a04068f7e4cf09 100644 --- a/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj +++ b/src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj @@ -19,13 +19,13 @@ - + - + diff --git a/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj b/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj index b8714d9479b2cc..5b03245ecc137a 100644 --- a/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj +++ b/src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj @@ -16,18 +16,6 @@ SR.PlatformNotSupported_WindowsRuntime true - - - - - - - - - - - - @@ -95,12 +83,24 @@ Common\System\HexConverter.cs + + + + + + + + + + + + - + diff --git a/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj b/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj index dab72ed0560b0e..8633fffda010c5 100644 --- a/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj +++ b/src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj @@ -18,6 +18,6 @@ - + \ No newline at end of file diff --git a/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata b/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata new file mode 100644 index 00000000000000..f4f41920f718db --- /dev/null +++ b/src/libraries/System.ServiceProcess.ServiceController/src/PinvokeAnalyzerExceptionList.analyzerdata @@ -0,0 +1,2 @@ +advapi32.dll!RegisterServiceCtrlHandlerEx +advapi32.dll!StartServiceCtrlDispatcher \ No newline at end of file diff --git a/src/libraries/build.proj b/src/libraries/build.proj deleted file mode 100644 index 8da5cf9b63eb6e..00000000000000 --- a/src/libraries/build.proj +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - true - true - true - - $(BuildDependsOn);BuildNative - $(BuildDependsOn);BuildManaged - $(BuildDependsOn);Pack - $(BuildDependsOn);BuildTests - - - - - - - <_RestoreProjects Include="$(MSBuildThisFileDirectory)restore\dirs.proj" Build="true" /> - - - - <_RestoreProjects Include="$(MSBuildThisFileDirectory)tests.proj" Build="false" /> - - - - - - - - - <_BuildNativeProjects Include="$(MSBuildThisFileDirectory)Native\build-native.proj" /> - - - - - - - - <_BuildMangedProjects Include="$(MSBuildThisFileDirectory)dirs.proj" /> - - - - - - - - <_TestProjects Include="$(MSBuildThisFileDirectory)tests.proj" /> - - - - - - - - <_TestProjects Include="$(MSBuildThisFileDirectory)tests.proj" /> - - - - - - - - <_PackProjects Include="$(MSBuildThisFileDirectory)packages.builds" /> - - - - - - - - - - diff --git a/src/libraries/dir.traversal.targets b/src/libraries/dir.traversal.targets deleted file mode 100644 index 3596af30d25338..00000000000000 --- a/src/libraries/dir.traversal.targets +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - $(MSBuildProjectDefaultTargets) - - - - - - - - - - - - - - - - - - - - - - BuildAllProjects;$(TraversalBuildDependsOn); - - - - - - - - diff --git a/src/libraries/dirs.proj b/src/libraries/dirs.proj deleted file mode 100644 index 2b9534d5965a81..00000000000000 --- a/src/libraries/dirs.proj +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - true - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/libraries/packages.builds b/src/libraries/libraries-packages.proj similarity index 62% rename from src/libraries/packages.builds rename to src/libraries/libraries-packages.proj index ab33fce628208e..f1ed35266b01a4 100644 --- a/src/libraries/packages.builds +++ b/src/libraries/libraries-packages.proj @@ -1,23 +1,21 @@ - + - - $(AdditionalBuildTargetFrameworks);package-$(Configuration) + + BuildAllProjects=true + $(AdditionalBuildTargetFrameworks);package-$(Configuration) - - - $(AdditionalProperties) - - - $(AdditionalProperties) - + + + - + + + - - - + - - + AfterTargets="Build"> <_PackageReports Include="$(PackageReportDir)*.json" /> - + + + + + + diff --git a/src/libraries/pkg/Directory.Build.props b/src/libraries/pkg/Directory.Build.props index 3092ef9fce4e28..832d9ef353d86a 100644 --- a/src/libraries/pkg/Directory.Build.props +++ b/src/libraries/pkg/Directory.Build.props @@ -1,4 +1,8 @@ + + true + + diff --git a/src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.builds b/src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.proj similarity index 100% rename from src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.builds rename to src/libraries/pkg/Microsoft.Extensions.Internal.Transport/Microsoft.Extensions.Internal.Transport.proj diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.builds b/src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.proj similarity index 100% rename from src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.builds rename to src/libraries/pkg/Microsoft.NETCore.Platforms.Future/Microsoft.NETCore.Platforms.Future.proj diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.builds b/src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj similarity index 100% rename from src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.builds rename to src/libraries/pkg/Microsoft.NETCore.Platforms/Microsoft.NETCore.Platforms.proj diff --git a/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.builds b/src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj similarity index 100% rename from src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.builds rename to src/libraries/pkg/Microsoft.NETCore.Targets/Microsoft.NETCore.Targets.proj diff --git a/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds b/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.proj similarity index 100% rename from src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds rename to src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.proj diff --git a/src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds b/src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.proj similarity index 100% rename from src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.builds rename to src/libraries/pkg/Microsoft.Windows.Compatibility/Microsoft.Windows.Compatibility.proj diff --git a/src/libraries/pkg/dir.traversal.targets b/src/libraries/pkg/dir.traversal.targets index 2e66296d7f6a37..c0494a55877552 100644 --- a/src/libraries/pkg/dir.traversal.targets +++ b/src/libraries/pkg/dir.traversal.targets @@ -1,5 +1,38 @@ - + + + + + + + + + + + + + + + + + BuildAllProjects;$(TraversalBuildDependsOn); + + + + + + diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj index d899043c4b87a7..211e42313ee2ad 100644 --- a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj +++ b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.pkgproj @@ -5,7 +5,7 @@ true - + runtimes/$(PackageRID)/native diff --git a/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.builds b/src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj similarity index 100% rename from src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.builds rename to src/libraries/pkg/runtime.native.System.IO.Ports/runtime.native.System.IO.Ports.proj diff --git a/src/libraries/pretest.proj b/src/libraries/pretest.proj index 10cd2407793876..988be57df5c5f8 100644 --- a/src/libraries/pretest.proj +++ b/src/libraries/pretest.proj @@ -1,24 +1,31 @@ - - + - GenerateLaunchSettingsFiles - $(BuildDependsOnTargets);GenerateTestSharedFrameworkDepsFile - $(BuildDependsOnTargets);GenerateFileVersionProps - netcoreapp - 5.0 + BuildAllProjects=true + + + + + + - + + + + + - + Condition="'$(PlatformManifestFile)' != '' and '$(BuildingNETCoreAppVertical)' == 'true'"> + <_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.OpenSsl.so" /> <_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.Apple.dylib" /> <_manualSharedFrameworkRuntimeFiles Include="System.Security.Cryptography.Native.OpenSsl.dylib" /> @@ -31,7 +38,10 @@ - + - + - - - - - <_TestProjectRootDir>$(LibrariesProjectRoot) - <_TestProjectRootDir Condition="'$(DirectoryToBuild)'!=''">$(DirectoryToBuild) - - - - - - - - - - - - - - - - - - - diff --git a/src/libraries/ref.builds b/src/libraries/ref.builds deleted file mode 100644 index 9bef0a6e4edbab..00000000000000 --- a/src/libraries/ref.builds +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/libraries/ref.proj b/src/libraries/ref.proj new file mode 100644 index 00000000000000..c13c10044388a9 --- /dev/null +++ b/src/libraries/ref.proj @@ -0,0 +1,24 @@ + + + + BuildAllProjects=true + + + + + + + + + + + + + + + + + diff --git a/src/libraries/restore/analyzers/analyzers.depproj b/src/libraries/restore/analyzers/analyzers.depproj deleted file mode 100644 index 27fad4d37cff1d..00000000000000 --- a/src/libraries/restore/analyzers/analyzers.depproj +++ /dev/null @@ -1,27 +0,0 @@ - - - false - true - C# - netstandard2.0 - - - - - - - - - - - - - - diff --git a/src/libraries/restore/depproj.proj b/src/libraries/restore/depproj.proj new file mode 100644 index 00000000000000..7825325f923911 --- /dev/null +++ b/src/libraries/restore/depproj.proj @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/libraries/restore/dirs.proj b/src/libraries/restore/dirs.proj deleted file mode 100644 index d006b65c8ff7ea..00000000000000 --- a/src/libraries/restore/dirs.proj +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/libraries/restore/netcoreapp/netcoreapp.depproj b/src/libraries/restore/netcoreapp/external.netcoreapp.depproj similarity index 100% rename from src/libraries/restore/netcoreapp/netcoreapp.depproj rename to src/libraries/restore/netcoreapp/external.netcoreapp.depproj diff --git a/src/libraries/restore/netstandard/netstandard.depproj b/src/libraries/restore/netstandard/external.netstandard.depproj similarity index 100% rename from src/libraries/restore/netstandard/netstandard.depproj rename to src/libraries/restore/netstandard/external.netstandard.depproj diff --git a/src/libraries/restore/runtime/Directory.Build.props b/src/libraries/restore/runtime/Directory.Build.props index a86068c18c0fbf..dacf9d99bf7d3f 100644 --- a/src/libraries/restore/runtime/Directory.Build.props +++ b/src/libraries/restore/runtime/Directory.Build.props @@ -2,6 +2,6 @@ external.$(MSBuildProjectName) - + \ No newline at end of file diff --git a/src/libraries/restore/runtime/runtime.depproj b/src/libraries/restore/runtime/runtime.depproj index 18a776f969b074..0546f2f6c8ec38 100644 --- a/src/libraries/restore/runtime/runtime.depproj +++ b/src/libraries/restore/runtime/runtime.depproj @@ -111,4 +111,14 @@ + + + + + $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '_[^;]+;?', '')) + $([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '-[^;]+', '')) + + diff --git a/src/libraries/restore/tools/tools.depproj b/src/libraries/restore/tools/tools.depproj deleted file mode 100644 index f2e32a3773b8b6..00000000000000 --- a/src/libraries/restore/tools/tools.depproj +++ /dev/null @@ -1,18 +0,0 @@ - - - $(ILAsmToolPath) - false - $(ToolRuntimeRID) - $(NoWarn);NU1603;NU1605 - netstandard2.0 - - - - - $(MicrosoftNETCoreILAsmVersion) - - - $(MicrosoftNETCoreILAsmVersion) - - - \ No newline at end of file diff --git a/src/libraries/restore/winrt/winrt.depproj b/src/libraries/restore/winrt/winrt.depproj deleted file mode 100644 index fb99977c302e51..00000000000000 --- a/src/libraries/restore/winrt/winrt.depproj +++ /dev/null @@ -1,16 +0,0 @@ - - - Windows - .winmd - - true - Reference - netcoreapp3.0;$(netcoreappCurrent);netstandard1.0 - - - - 1.0.5 - - - \ No newline at end of file diff --git a/src/libraries/shims/ApiCompat.proj b/src/libraries/shims/ApiCompat.proj index a261947c3bcd27..fa8fb19352c738 100644 --- a/src/libraries/shims/ApiCompat.proj +++ b/src/libraries/shims/ApiCompat.proj @@ -1,9 +1,12 @@ - + + - + + $(BuildTargetFramework) + - $(BuildTargetFramework) + $(TargetFramework) netcoreapp $(IntermediateOutputPath)/apicompat.rsp $(MSBuildThisFileDirectory)ApiCompatBaseline.$(ApiCompatTarget).netfx461.txt @@ -117,11 +120,12 @@ - - + - - + + + + diff --git a/src/libraries/shims/Directory.Build.props b/src/libraries/shims/Directory.Build.props index 790b6126ca80de..d0835fdd9bb98f 100644 --- a/src/libraries/shims/Directory.Build.props +++ b/src/libraries/shims/Directory.Build.props @@ -18,8 +18,6 @@ true false true - - false diff --git a/src/libraries/src.builds b/src/libraries/src.builds deleted file mode 100644 index 5903b7fd7a10af..00000000000000 --- a/src/libraries/src.builds +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/libraries/src.proj b/src/libraries/src.proj new file mode 100644 index 00000000000000..b3b5f8504fc6e5 --- /dev/null +++ b/src/libraries/src.proj @@ -0,0 +1,49 @@ + + + + BuildAllProjects=true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 34b7228163c540..27a11e939c9470 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -1,92 +1,33 @@ - - - + - - $(NetCoreAppCurrent) - + - - - - - + + true + + ErrorAndContinue + BuildAllProjects=true $(ArtifactsBinDir)*.Tests/**/coverage.xml $(ArtifactsDir)coverage - true - + - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/src/mono/Directory.Build.props b/src/mono/Directory.Build.props index f77c6f89f0fbb7..6cf44957604776 100644 --- a/src/mono/Directory.Build.props +++ b/src/mono/Directory.Build.props @@ -93,4 +93,9 @@ strict;nullablePublicOnly + + + $(ArtifactsObjDir)mono/$(PlatformConfigPathPart)/ + $(MonoObjDir)llvm + diff --git a/src/mono/llvm/llvm-init.proj b/src/mono/llvm/llvm-init.proj index 62b0c0d1301b2e..a43b35b917bc99 100644 --- a/src/mono/llvm/llvm-init.proj +++ b/src/mono/llvm/llvm-init.proj @@ -13,7 +13,7 @@ - + diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 3f3f04da931eca..55c4e17fba9993 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -1,11 +1,7 @@ - + - + - $(ArtifactsObjDir)mono/$(PlatformConfigPathPart)/ - false - false - $(MonoObjDir)llvm $(ROOTFS_DIR) dotnet.exe dotnet @@ -518,63 +514,6 @@ - - - - - - - - <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll - <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll - <_MonoRuntimeFilePath Condition="'$(TargetsOSX)' == 'true'">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.dylib - <_MonoRuntimeFilePath Condition="'$(TargetsiOS)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.dylib - <_MonoRuntimeFilePath Condition="'$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.so - <_MonoRuntimeFilePath Condition="'$(_MonoRuntimeFilePath)' == ''">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.so - <_MonoRuntimeStaticFilePath Condition="'$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.a - <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm64'">$(MonoObjDir)cross\out\bin\aarch64-darwin-mono-sgen - <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm'">$(MonoObjDir)cross\out\bin\arm-darwin-mono-sgen - - - - - <_MonoRuntimeArtifacts Include="$(_MonoRuntimeFilePath)"> - $(BinDir)$(MonoFileName) - - <_MonoRuntimeArtifacts Include="$(_MonoRuntimeStaticFilePath)"> - $(BinDir)$(MonoStaticFileName) - - <_MonoRuntimeArtifacts Include="$(_MonoAotCrossFilePath)"> - $(BinDir)cross\mono-aot-cross - - <_MonoIncludeArtifacts Include="$(MonoObjDir)out\include\**" /> - - - - - - - - - - - - - - - - - - - - @@ -714,4 +653,47 @@ + + + + + + + <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll + <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll + <_MonoRuntimeFilePath Condition="'$(TargetsOSX)' == 'true'">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.dylib + <_MonoRuntimeFilePath Condition="'$(TargetsiOS)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.dylib + <_MonoRuntimeFilePath Condition="'$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.so + <_MonoRuntimeFilePath Condition="'$(_MonoRuntimeFilePath)' == ''">$(MonoObjDir)mono\mini\.libs\libmonosgen-2.0.so + <_MonoRuntimeStaticFilePath Condition="'$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">$(MonoObjDir)out\lib\libmonosgen-2.0.a + <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm64'">$(MonoObjDir)cross\out\bin\aarch64-darwin-mono-sgen + <_MonoAotCrossFilePath Condition="'$(TargetsiOS)' == 'true' and '$(Platform)' == 'arm'">$(MonoObjDir)cross\out\bin\arm-darwin-mono-sgen + + + + + <_MonoRuntimeArtifacts Include="$(_MonoRuntimeFilePath)"> + $(BinDir)$(MonoFileName) + + <_MonoRuntimeArtifacts Include="$(_MonoRuntimeStaticFilePath)"> + $(BinDir)$(MonoStaticFileName) + + <_MonoRuntimeArtifacts Include="$(_MonoAotCrossFilePath)"> + $(BinDir)cross\mono-aot-cross + + <_MonoIncludeArtifacts Include="$(MonoObjDir)out\include\**" /> + + + + + + + + + diff --git a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj index e562f9f855e48a..cd45f2dc12df44 100644 --- a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj +++ b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj @@ -304,10 +304,6 @@ - - - - + + + - - + + + AdditionalProperties="%(ProjectReference.AdditionalProperties);FileVersion=$(FileVersion)" /> + + + + +