Граф коммитов

197 Коммитов

Автор SHA1 Сообщение Дата
Simon Lamon 400a989b83
Adopt consistent approach for defining InternalsVisibleTo in the repo (#45748) 2022-12-28 14:09:51 -08:00
Tom Deseyn 38d3043c7e
source-build: support building aspnetcore using non-portable runtime packages. (#43937)
* source-build: support building aspnetcore using non-portable runtime packages.
  Currently source-build performs 'runtime-portable' build that produces 'linux-{arch}'
packages that are used when building ASP.NET Core.
  With this change, we can use the non-portable packages that are produced by the
source-build 'runtime' build, and eliminate the 'runtime-portable' build.
* Invert PortableBuild checks.
* Revert name change.
2022-09-29 09:55:05 -07:00
Mackinnon Buck bcf7319eb3
Update SDK to 7.0.100-rc.2.22419.24 (#43028)
- {lots of different SDK versions tried}
- Validate DataProtection custom algorithm has a constructor
- Additional fixes
- Suppress IL2121
- Fix NoWarn overrides
- Update LinkabilityChecker.csproj
- Update WasmLinkerTest.csproj
- Bump SDK version yet again
- Hack to stop using `msbuild` server
  - please open an issue to keep trying to remove this
- Disable msbuild server for source-build job

Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
Co-authored-by: Chris Ross <chrross@microsoft.com>
Co-authored-by: Tanay Parikh <TanayParikh@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: Sébastien Ros <sebastienros@gmail.com>
Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Co-authored-by: Safia Abdalla <safia@microsoft.com>
2022-08-30 21:21:17 +00:00
James Newton-King b4b43e39bc
Add gRPC JSON transcoding (#40242) 2022-03-27 20:29:23 +08:00
William Godbe 54a7109ead
Build ProjectTemplates in Source-Build (#40643)
* Build ProjectTemplates in Source-Build

* Fixup
2022-03-10 15:41:00 -08:00
Doug Bunting c0575788ec
Remove Interop build step (#39553)
- remove separate step to restore Interop projects
- make Interop test asset projects more "normal"
    - use usual mechanism to target latest ASP.NET Core bits
    - remove use of `$(BuildInteropProjects)`
- expand FunctionalTestWithAssets.targets to help w/ local testing
    - still delayed and done only when necessary
    - handle non-Helix testing e.g. handle `dotnet test` too
    - build test assets into location `InteropTests` expects on local machine
- add FunctionalTestWithAssets.props, providing relevant defaults
- expand `FunctionalTestWithAssets` use to Identity.FunctionalTests

nits:
- rename `@(FunctionalTestAssetProjectReference)` to `@(TestAssetProjectReference)`
- cleanup leftover reference to ProjectTemplates/testassets/ in Build.props
    - should have been removed in 54ff379
- remove `/p:RunTemplateTests=true`; no need to specify the default
- clean up other projects that use `$(MvcTestingTargets)`
    - none need special handling for publish (don't need pages, views, or wwwroot files)
2022-01-31 10:05:08 -08:00
Hao Kung 8b93d9e6eb
BuildIisNativeProjects -> UseIisNativeAssets (#39655) 2022-01-21 10:16:43 -08:00
Doug Bunting 08968dd0d6
Always build App.Ref and the targeting packs (#39568)
- remove `$(IsTargetingPackBuilding)` entirely
2022-01-19 10:01:39 -08:00
Hao Kung c8c1700877
Build ARM64 in main windows build job (#38997) 2022-01-08 00:15:28 +00:00
Doug Bunting f072ff85b5
!nits! Build cleanup (#38979)
- condense `$(_UseHelixOpenQueues)` YAML
- restore ability to override `$(IsUnitTestProject)`
- treat `$(IsUnitTestProject)` and `$(IsTestProject)` as `bool` after Arcade SDK.props imported
- avoid attempts to override `$(RunQuarantinedTests)`; it's set globally
- remove unnecessary `$(IsUnitTestProject)` and `$(IsTestProject)` settings
  - override `$(IsUnitTestProject)` (not `$(IsTestProject)`) _before_ root Directory.Build.props
2021-12-13 15:34:17 -08:00
Omair Majid a32dde1438
Improve building ASP.NET Core directly on arm64 machines (#38527)
- improve build on Linux arm64
- apply changes suggested by Doug Bunting
- improve running tests on arm64
  - use the currently running system's architecture instead of hard-coding x64
- skip h2spec tests on arm64 and x86
2021-12-02 04:42:04 +00:00
Davis Goodin 2984e3bcd5
Fix AppHost pack prebuilt usage in source-build (#37672) 2021-10-21 15:35:36 -05:00
Tanay Parikh dfcf1adee2
Reenable ComponentsAnalyzer (#37692)
Fixes: https://github.com/dotnet/aspnetcore/issues/18611
2021-10-19 18:40:34 -07:00
Davis Goodin 4ff8165fb1
Enable targeting pack build during source-build (#37652) 2021-10-19 16:23:52 -05:00
dotnet-maestro[bot] 70c05f178a
[main] Update dependencies from dotnet/runtime dotnet/efcore (#36328)
[main] Update dependencies from dotnet/runtime dotnet/efcore


 - Update TFM to net7.0

 - Fixup

 - Update src/Shared/CodeAnalysis/DynamicallyAccessedMembersAttribute.cs

Co-authored-by: Chris Ross <chrross@microsoft.com>

 - Update src/Shared/CodeAnalysis/DynamicallyAccessedMemberTypes.cs

Co-authored-by: Chris Ross <chrross@microsoft.com>

 - Update netfx to 462

 - Update more to net462

 - Fix workaround

 - Update ifdefs

 - Add workaround for KnownRuntimePack

 - Merge branch 'darc-main-c944b2c3-1c63-49a3-b9dd-98cda1a942e3' of https://github.com/dotnet/aspnetcore into darc-main-c944b2c3-1c63-49a3-b9dd-98cda1a942e3

 - Merge branch 'main' into darc-main-c944b2c3-1c63-49a3-b9dd-98cda1a942e3

 - Add SiteExtensions versions

 - Fix RepoTasks assembly dir

 - Update CreateFrameworkListFile to account for new analyzer path format introduced with https://github.com/dotnet/sdk/issues/20355

 - Don't target latest runtime in razor tests

 - Update Dependencies.props

 - Update Helix.targets

 - Fixup

 - Move FrameworkReference update to GenerateFiles

 - Have Helix tests import directory.build files

 - Keep RunTests at net6

 - Quarantine 2 tests

 - revert spa-templates submodule downgrade
2021-09-21 02:28:35 +00:00
Stephen Halter 45222c12d9
Run analyzers in VS (#35044) 2021-08-04 14:21:07 -07:00
Safia Abdalla 8518012131
Quarantine test and fix up conditional check (#34904)
* Update condition check for Visual Studio

* QT Http3TimeoutTests failure

* Fix version check condition

* Add ref comment and clean up code
2021-07-31 15:10:40 -05:00
Safia Abdalla 08c8b4197f
Disable analyzers only when building in VS (#34848)
* Disable analyzers only when building in VS

* Add API annotation for ToString

* fixups

* Fix up some more warnings

* Update condition for EnforceCodeStyleInBuild

* Remove duplicate entry in PublicAPI files

* Update namespace for JSComponentConfigurationExtensions

* Remove duplicate Microsoft.AspNetCore.Components.Web.JSComponentConfigurationExtensions

* Fix license header in test file

Co-authored-by: BrennanConroy <brecon@microsoft.com>
2021-07-29 19:38:50 -07:00
James Newton-King 0c5456afe9
HTTP/3: Http3Stream pooling (#34576) 2021-07-24 02:53:42 +00:00
Stephen Halter 70479b5225
Avoid TypeLoadExceptions in VS 2022 (#34664)
- This should be fixed when VS 2022 updates its Microsoft.CodeAnalysis.CSharp dependency
2021-07-24 02:01:52 +00:00
Kevin Pilch d71ceb649c Update license from Apache -> MIT
Fixes #18873.
2021-07-22 15:36:47 -07:00
Chris Ross 3826122d81
Use preview langversion and ignore duplicate using warnings (#34346) 2021-07-14 20:53:03 +00:00
John Luo 4d67e70c17
Arcade powered source build (#32790)
* Add source-build ci leg

* Remove patches

* Fixup project type logic

* Mark Components.E2ETests as NodeJsProject

* Exclude YarnMSBuild project in source build

* Update binlog parameter logic

* Modify source build global json script

Co-authored-by: Michael Simons <msimons@microsoft.com>
2021-06-03 14:44:56 -07:00
Doug Bunting c53700bf8a
Clean up `$(RepoRoot)` consistently (#32664)
- don't override correct values but fix incorrect ones
- fix #32615
- also get SignalR pipeline working again

nits:
- don't use `$(MSBuildProjectDirectory)` in project files
  - inconsistent w/ `$(MSBuildThisFileDirectory)` and harder to grok
- don't add unnecessary slashes after `$(MSBuildThisFileDirectory)`
- clean up Microsoft.AspNetCore.Testing.props
  - used only from eng/targets/CSharp.Common.props but fallback settings may help
2021-05-13 23:21:48 -07:00
Doug Bunting 9521fd3690
Correct direct builds e.g. `msbuild` (#32552)
- correct `$(RepoRoot)` fallback in Directory.Build.props
  - need trailing slash almost everywhere
- pass `$(RepoRoot)` and `$(Configuration)` properties into helix.proj
  - properties aren't always global and were missing when invoked from RunHelix.ps1
2021-05-10 23:31:00 +00:00
Brennan 340d161093
Add micro-benchmark validation (#29695) 2021-03-11 21:28:03 -08:00
Youssef Victor 350ea5b181
Use NetAnalyzers from SDK instead of FxCopAnalyzers (#30138)
* Use analyzers from .NET SDK
2021-02-19 09:12:37 -08:00
Safia Abdalla f7e1712db8
Add support for generating app manifest files for tests (#28575)
* Add initial support for reading content paths from file
* Add task for generating app manifest file
* Completed support for generating AppManifest.json
* Fix deserializing JSON and getting path by assembly name
* Address feedback from peer review
* Fix up target definition and formatting
* Undo typo fix
* Fix target name and JSON parsing
* Update test scenario when using app manifest
* Add new project to ProjectReferences
* Generate file before PrepareResources
* Address feedback from peer review
2020-12-17 12:54:11 -08:00
Pranav K 8df66d1c16
Add XML doc comments for Microsoft.Net.Http.Headers (#28415)
* Enable missing doc comments to appear as warnings when building locally.
* Update nullability bug that I noticed in RangeConditionHeaderValue
2020-12-07 11:43:55 -08:00
Doug Bunting 5fd1db2625
Further centralize shared Fx and TFM transition workarounds (#27473)
* Further centralize shared Fx and TFM transition workarounds
  - make generated `Directory.Build.*` files more widely applicable
    - warn if requested Microsoft.AspNetCore.App version does not exist in `$(DOTNET_ROOT)`
    - add `$(UpdateAspNetCoreKnownFramework)` for Microsoft.AspNetCore.App `@(KnownFrameworkReference)` update
    - remove central `$(BuildingTestAppsIndependently)` special case
      - not needed because compiler toolset version is always available
    - correct `$(KnownAppHostPackOrFrameworkReferenceTfm)` when not targeting the default TFM
      - use MSBuild intrinsic functions for this and in framework projects; future-proofing
    - correct `@(KnownFrameworkReference)` metadata when in servicing
       - should not override default runtime and targeting pack versions
  - use generated `Directory.Build.*` files in regular build
    - remove now-duplicate property and item settings outside generated `Directory.Build.*` files
  - use generated `Directory.Build.*` files for local Razor tests
    - set `$(TargetLatestRuntimePatch)` instead of `$(RuntimeFrameworkVersion)`; simpler
    - do not restore Razor SDK test asset projects until just before tests run
    - depend on Microsoft.AspNetCore.App projects
    - disable `$(TreatWarningsAsErrors)` for a few Razor SDK tests
      - tests expect projects to build successfully despite a few warnings
  - improve (widen) Microsoft.AspNetCore.App `Condition` in Blazor SDK tests

nit: do not pass `$(MicrosoftNetCompilersToolsetVersion)` into Razor test asset projects
  - not needed because generated files already contain the right information
  - even without that, the Directory.Build.props file imports eng/Versions.props

* Use generated `Directory.Build.*` files for local template tests
  - move Infrastructure/ files to TestInfrastructure/
    - Infrastructure/ sub-directories were functionally identical
  - move shared parts of template test project files to PrepareForTest.targets

* Describe errors with missing generated files and the new warning in BuildFromSource.md
  - address numerous Markdown lint warnings, typos, and spelling mistakes in this file

* Apply suggestions from code review
  - thanks @captainsafia

* Move all troubleshooting information into BuildErrors.md
  - some was already duplicated
  - fix Markdown lint issues in BuildErrors.md too

* Reorder App.Runtime build slightly
  - move `_InstallFrameworkIntoLocalDotNet` earlier because other builds depend on this part
    - this target sometimes executes after dependent projects continue
  - add `DependsOnTargets` attributes to further constrain ordering

nit: `IncludeFrameworkListFile` should run before `_ResolveSharedFrameworkContent`

* Add temporary workaround for `[AssemblyVersion]` changes

* Address @wtgodbe's nit from #27653
  - https://github.com/dotnet/aspnetcore/pull/27653#pullrequestreview-529368502

Co-authored-by: Safia Abdalla <safia@microsoft.com>
2020-12-02 22:50:09 -08:00
John Luo 0c8d69b8fe Merge branch 'release/5.0' 2020-11-13 22:37:16 -08:00
Doug Bunting 415875625c
[release/5.0] Update API baseline files (#27653)
* Move all PublicAPI.Unshipped.txt files to PublicAPI.Shipped.txt
- we have now shipped this API surface

* Add eng/PublicAPI.empty.txt file
- make it easier to add new implementation projects

* Add missing public API baseline files
- #26784 part 1/2
- a few unexpected files turned up missing beyond the #26784 list&hellip;

* Reference Microsoft.CodeAnalysis.PublicApiAnalyzers more often
- #27484 part 2/2
- emit errors when API baseline files are missing
- update categorization of some projects
  - specification tests are not implementation projects
    - but _were_ project reference providers (keep that)
  - correct `$(IsTestAssetProject)` setting for Razor shims et cetera
  - correct `$(IsSampleProject)` setting for casing of some Sample directories
  - Microsoft.AspNetCore.Analyzer.Testing should be treated as test asset
- add `$(AddPublicApiAnalyzers)` property to support overrides
  - e.g. for `msbuild` task projects and tools

nit:
- remove useless `$(IsTestProject)` setting in a specification test project
- wrap some long `Condition`s

* Do not run public API analyzer in `RazorCoreCompile` target

* Remove old `$(EnableApiCheck)` settings
- property does nothing
- also remove a dangling ApiCheck comment
2020-11-12 10:28:52 -08:00
Doug Bunting 5a2bb94dc6
Mark IgnitorSample as non-packable (#27597)
- also align TestTasks with other packable / non-shipping projects in same boat

nit: s/internal-use/internal use/
2020-11-06 17:08:37 -08:00
John Luo 3beea3035b
Enable API doc checks by default (#27515)
* Enable CS1591 by default
2020-11-05 11:13:24 -08:00
Steve MacLean bb5efb768c
Add initial support for Apple Silicon (#27264)
* Add initial support for Apple Silicon

- Add osx-arm64 runtime dependency
- Add osx-arm64 to supported rid identifiers
- Update vmImage to macOS-10.15
- Use XCode 12.2 for all macOS builds
- Add build and sign macos arm64 to CI scripts

This should build aspnetcore for osx-arm64, however
the native dependencies libuv and libe_sqlite3 will
need to be updated to have full functionality.  These
are provided by separate repos.

Enabling at this point unblocks effort to create the initial
osx-arm64 SDK.

* PR Feedback
2020-10-27 22:17:32 +00:00
Doug Bunting da7fead486
Update branding to 6.0.0 Alpha1 (#24983)
* Update branding to 6.0.0 Alpha1
- hold the TFM back at `net5.0`
- correct `TargetFrameworkVersion` in FrameworkList.xml; don't use `$(AspNetCoreMajorMinorVersion)`
- move `$(DefaultNetCoreTargetFramework)` to eng/Versions.props
  - avoid repeating value in AfterSolutionBuild.targets and Directory.Build.props files
- add new versions to `TemplatePackageInstaller`
- update project template test scripts

* Update / add 6.0 package versions in test expectations
- basically, remove test assumptions that branding == target TFM
- `TestData` will need another update once 6.0.0.0 assembly versions arrive from dotnet/runtime

* Update `Condition`s on `@(SuppressBaselineReference)` items to 6.0

* Undo some of #24816
- allow sharedFx assemblies in Microsoft.AspNetCore.Components.WebAssembly.DevServer package
- see #26448 about reducing this baggage later in 6.0

* Skip IndividualAuth tests on Helix
- #26776
2020-10-12 12:07:13 -07:00
Jan Vorlicek 7bba8153cd Enable MUSL ARM support
This change adds support for building MUSL ARM packages of ASP.NET Core.
2020-09-24 09:00:39 -07:00
Doug Bunting e3b632894d
Fix Helix testing issues with stable versions and local builds (#25865)
- include all shipping packages in Helix payloads that need runtime
  - remove hard-coded `-ci` that broke Helix tests with stable versions or local builds
  - for local builds, do not assume `$(Configuration)` is Release
- support `$(HelixTargetQueues)` property used in RunHelix.ps1
  - lost somewhere along the lines; script ran full matrix

nits:
- clean up redundant addition of runtime and ref/ packages
  - `@(HelixContent)` additions in `_CreateHelixWorkItem` target are ignored
- mention '+' separation of `-HelixQueues` argument to RunHelix.ps1
- allow `$(IsUnitTestProject)` override in case we need it in the future
2020-09-13 21:45:23 -07:00
Brennan 4718c11f4d
Add incremental build and project references to java projects (#25707)
* Add incremental build and project references to java projects

* fb

* fix version
2020-09-08 16:30:18 -07:00
Doug Bunting 27582545ba
Correct the site extensions builds (#25406)
- handle differing SiteExtensions package versions
  - the arch-specific packages don't stabilize when final package does
- update 3.1 packages in bundle to 3.1.7 version
- remove useless empty folder from LoggingBranch (arch-specific) package
  - double slashes help nobody but add an empty-named level in the package

nit: fix a binary log filename
2020-08-31 12:26:04 -07:00
William Godbe ce058f639c
Add net461 TFM to netstandard2.0 projects (#25094)
* Add net461 TFM to netstandard2.0 projects

* Fix a couple of errors

* Fix some errors

* Get rid of Sockets reference

* Respond to feedback

* net461 -> property

* Fixup clientSample

* Remove net461 from analyzers/razor

* Remove net461 from test projects

* Feedback

* Add net461 test configs

* Remove some incompatible test configs

* Fix test
2020-08-27 16:05:40 -07:00
Youssef Victor 60cb3bb5c4
Fix warnings in analyzer packages (#24837) 2020-08-13 14:49:47 -07:00
Pranav K 059e2fdc49
Remove Internal.AspNetCore.Analyzers (#24693)
* Remove Internal.AspNetCore.Analyzers

This resolves build flakiness caused by referencing the analyzer:

```
2020-08-07T21:22:39.1149296Z ##[error].dotnet\sdk\5.0.100-rc.1.20379.10\Microsoft.Common.CurrentVersion.targets(4188,5): error MSB3026: (NETCORE_ENGINEERING_TELEMETRY=Build)
Could not copy "F:\workspace\_work\1\s\artifacts\obj\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll"
to "F:\workspace\_work\1\s\artifacts\bin\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll". Beginning retry 1 in 1000ms.
The process cannot access the file 'F:\workspace\_work\1\s\artifacts\bin\Internal.AspNetCore.Analyzers\Release\netstandard1.3\Internal.AspNetCore.Analyzers.dll' because it is being used by another process.
```

The analyzer checks if pubternal types are being exposed in public APIs. We no longer author pubternal types, so this is no longer a concern.

* Remove DisablePubternalApiCheck
2020-08-11 03:08:55 +00:00
Doug Bunting fb28ce3ec2
Simplify ref/ assembly generation (#24136)
* Simplify ref/ assembly generation
    - followup 1/2 for 5266918ed2
    - correct the Razor.Tools project
      - `%(Reference.Version)` metadata does not bleed through into `@(PackageReference)` items
      - much more work to do so than to add this special case
      - remove `$(Razor_NewtonsoftJsonPackageVersion)`
    - remove RTMVersions project and use RepoTasks instead
      - make it an error if RepoTasks is not restored before anything else builds
- add items and properties for System.Security.AccessControl

nits:
- remove invalid (ignored) metadata in Directory.Build.props and AzureAppServices.SiteExtension project
- improve / extend a couple of comments
- move `@(Reference)` items together in Microsoft.AspNetCore.Razor.Tools
2020-07-21 15:21:30 -07:00
Doug Bunting 5266918ed2
Use Roslyn to create ref/ assemblies (#23403)
* Remove all ref/ projects

* Remove GenAPI infrastructure

* Remove notion of a reference assembly project
  - remove `$(IsReferenceAssemblyProject)`, `$(ReferenceReferenceAssemblies)` and `$(ReferenceImplementationAssemblies)`
    - remove unnecessary `$(NoWarn)` settings

nits:
- remove a few misleading comments
- wrap some long lines

* Move .0 package version workaround into Versions.props
  - touch up SharedFramework.External.props

* Expose `%(LatestPackageReference.RTMVersion)` metadata
  - automate use of properties in the `@(LatestPackageReference)` item group to make this maintainable
    - add a couple of special cases at the bottom of eng/Dependencies.props
    - add one more `$(...PackageVersion)` property to avoid yet-another special case

* Enable Roslyn reference assemblies
  - exclude ref/ assembly from packages other than targeting pack
  - update Microsoft.AspNetCore.App.Ref.csproj
    - `%(IsReferenceAssembly)` and `%(ReferenceGrouping)` metadata no longer relevant
    - only ref/ assemblies are in `@(ReferencePathWithRefAssemblies)` item group

nits:
  - remove now-unnecessary workaround
    - issues with TFM transition are behind us
  - clean up Microsoft.AspNetCore.App.Runtime.csproj slightly
    - use `GeneratePathProperty="true"`
        - reorder item / property settings for meta-expansion
    - correct spelling errors and phrasing in comments

* Update documentation to reflect recent changes
  - remove CrossRepoBreakingChanges.md; was tied to old TeamCity infrastructure
    - also much less relevant given repo merges
  - adjust details and examples in ReferenceResolution.md
    - reflect repo merges, Dependencies.props changes, and current Maestro++ channels
    - add a few more details e.g. specific files where Version.Details.xml versions are used

* !fixup! Remove another irrelevant doc file

* !fixup! Address PR review suggestions
  - convert a couple of warnings to errors
  - use consistent casing for Microsoft.NETCore.App.Runtime.* packages
  - reduce `%(LatestPackageReference.Version)` metadata special cases
  - add and improve comments e.g.
    - improve comments about `$(*V0PackageVersion)` properties
    - improve placement of comments about item removal in ResolveReferences.targets
    - confirmed `$(*V0PackageVersion)` property list is complete

nits:
- fix solution example in ReferenceResolution.md
- remove item group definition for `@(LatestPackageReference)`
- remove `%(LatestPackageReference.VersionName)` metadata after use; large item group
    - similarly, remove `%(LatestPackageReference.RTMVersion)` when not needed; just complicates `Condition`s

When I squash, I must remember this fixes
- #14801
- dotnet/aspnetcore-internal#2693

* Actually use `%(LatestPackageReference.RTMVersion)` metadata
  - gather RTM package references in a new project
    - a (very) separate project to work around package conflict resolution
    - empty `Test` target works around Arcade's testing approach
  - new target in ResolveReferences.targets updates relevant assembly paths to use the RTM packages
    - done as soon as possible after `ResolvePackageAssets` determines the paths
    - done for all compilation inputs, not just ref/ assemblies
2020-07-17 13:35:17 -07:00
Pranav K 59b94e4b92
Ensure analyzer does not appear in build and publish outputs (#24072)
Also make the analyzer actually work
2020-07-17 13:20:52 -07:00
Doug Bunting ab7f3f2018
Enable `/warnAsError` (#23072)
* Enable `/warnAsError` in Windows builds
  - already enabled in non-Windows builds because override existed only in build.ps1
* Allow some warnings related to closed issues
  - common `<NoWarn>$(NoWarn);CS1591</NoWarn>` case unchanged
    - /Directory.Build.props ensures that warning remains a warning but doesn't hide it
* !fixup! Root build.sh _does_ disable warnings as errors
  - variable eng/common/tools.sh uses named `warn_as_error`
2020-06-18 15:59:34 -07:00
Matt Mitchell d8733c2a55
Build time changes (#22362)
* Build time changes
A few changes for build time
- Don't build tests with SkipTestBuild=true and use that for official
  build legs. This cuts 40%-50% off the msbuild invocations for build.
  The longest build leg drops by about 30 mins.
- Skip logging of some task parameters and their metadata.
  This reduces overall binlog size, which is a major contributor to
  build time.

Unfortunately, this does not mean we can yet turn binlogs back on. This
change can actually increase the overall binlog size due to logging of
more project started arguments. There is another optimization for this
in progress.

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
2020-06-03 07:14:38 -07:00
Doug Bunting 14d6b6e286
Build primarily with `dotnet msbuild` (#22017)
* Make `dotnet msbuild` the default on Windows too
  - add step using desktop `msbuild` when native builds may be involved
    - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step
    - but `-ForceCoreMsbuild` unconditionally skips this step

nits:
- add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command)
- add blank lines between build steps

* Enable building managed projects depending on native assets
  - splitting native builds out confuses these projects
  - use `$(BuildNative)` less, only to control actual building (not bundling)
  - build both native platforms in one `msbuild` invocation

* Adjust generation scripts to explicitly choose the MSBuild engine
  - ensure native assets are included in GenerateReferenceAssemblies.ps1 build
  - clean up the global state that tools.ps1 corrupts

* Revert move to VS2019.Pre queues

This reverts part of commit b67d161e03
- was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)"

* Revert "!temporary! Require `msbuild` from VS2019 16.6"
  - this reverts commit 58cf2304a6

* Reduce build duplication in pipelines
  - build native assets and repo tasks once per CI job
  - only cleanup framework references after packing managed projects

nits:
- wrap a few long lines
- remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd

* Fix Helix jobs
  - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all`

* !fixup! Reduce duplications further
  - missed a couple of places `-noBuildRepoTasks` helps

* Cleanup: Remove a few dangling binary logs

* !fixup! Correct typos in generation scripts

* !fixup! Another typo in the generation scripts
2020-05-29 19:02:03 -07:00
John Luo 50f3a16571 aspnetcore-tooling migration fixups 2020-05-26 12:31:49 -07:00