Commit Graph

8 Commits

Author SHA1 Message Date
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
Doug Bunting 54722a52b6
A quick collection of quick fixes (#20993)
* Quick fix: Simplify devBuilds.yml
  - remove an excess build step

* Quick fix: Move `SetupNugetSources` script invocations above `parameters.beforeBuild`
  - ensure NuGet.config is ready for all internal builds
  - remove now-duplicate `SetupNugetSources` invocations wherever default-build.yml is used

* Quick fix: Clean up SiteExtensions/build.cmd
  - quote all rooted paths
  - check `%ERRORLEVEL%` after every `CALL`
  - nits:
    - add a few more `ECHO` commands
    - wrap long lines

* Quick fix: Ensure `$(BuildNative)` is always set correctly
  - fix problems using `-all` or `/p:BuildAllProjects=true` without `-buildNative`
    - ensure `$(BuildNative)` is `false` where it's not supported
  - move some duplicated settings into eng/Common.props and `<Import />` the new file
  - remove now-duplicated parts of conditions using `$(BuildNative)`

* Quick fix: Consistently use `--build-*`
  - avoid `/p:Build*`  on the command line (except with eng/scripts/ci-source-build.sh)
  - nits:
    - remove now-useless `-buildNative` with `-all`
    - expand and correct a couple of related comments and messages

* Quick fix: Support `-all` together with `-projects`
  - remove need to specify `/p:BuildAllProjects=true`
  - nit: simplify some Boolean logic
2020-04-25 18:39:19 -07:00
Nate McMaster 6081fec894
Add new build.cmd/sh options for suppressing restore, NodeJS, setting target arch and OS name, and more (#7137)
Add new command line parameters for working with the project:

* `-NoBuild`, `-NoRestore` - these already existed, but users found it hard to discover this powershell syntax: '-build:$false'
* `-Arch`/`--arch` - set the target CPU architecture to build. Defaults to x64
* `--os-name` - on non-Windows builds, manually specify if the build should target Alpine. generic Linux, or MacOS
* Rename flags used to build specific project types. The pattern now is `--build-$(group)` or `--no-build-$(group)` (In PowerShell its `-Build$(Group)` or `-NoBuild$(Group). Example: -NoBuildJava

Changes to build definitions:
* Update the ci build definition to build all supported architectures
* Support publishing multiple artifacts per job

Other changes:
* `-NoBuild` implies `-NoRestore`
* Add new properties, `TargetArchitecture`, `TargetOsName`, and `TargetRuntimeIdentifier`
* Replace usages of `SharedFxRid` with these new properties
* To make `--no-build-nodejs` actually work, replaced Components.Browser.JS.csproj with Components.Browser.JS.npmproj
* Fix errors when building for win-arm on a clean machine
* Fix a few other project errors, like using the wrong syntax for DefaultItemExcludes, or using the wrong Platform value for x86
2019-01-31 15:47:47 -08:00
Pavel Krymets b6bdffe247
Remove copy targets from ResolveIISReferences (#6539) 2019-01-09 14:05:41 -08:00
Pavel Krymets 143a727113
Remove AspNetCoreModule virtual projects (#6317) 2019-01-04 09:40:40 -08:00
Nate McMaster bfec2c14be
Merge branch 'release/2.2' 2019-01-03 12:18:01 -08:00
Nate McMaster 7e38b563bd
Merge branch 'release/2.1' to release/2.2 2019-01-02 10:29:38 -08:00
Justin Kotalik 167695fad2
Port native project ref changes to 2.1 (#6071) 2018-12-21 13:36:57 -08:00