1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Commit graph

14 commits

Author SHA1 Message Date
Matt Mitchell
96159b2e5e
Update unified build controls (#98330)
Generally a straight port. Removed ArcadeBuildFromSource and ArcadeBuildVertical and replaced with DotNetBuild.
2024-02-15 18:48:18 +01:00
Carlos Sanchez
0b3703eee9
Copy local intellisense xmls for assemblies with source of truth. (#79134)
* Copy local intellisense xmls for assemblies with source of truth.

* use UseIntellisenseDocumentationFile instead

* Create intellisense.targets, which contains the Target that defines the set of files to copy, and the Target that copies each of those files into the artifacts/bin/docs folder.
The paths of the files to copy are dynamically defined depending if the assembly IsPackable property is set or not, and if the UseIntellisenseDocumentationFile boolean is set or not.

* Set UseIntellisenseDocumentationFile to true for the 3 assemblies that already have their source of truth in triple slash.

* Delete docs.targets, move package download to Build.proj

* Consume $(XmlDocDir) in Microsoft.NetCore.App.Ref.sfxproj

* Change condition to import intellisense.targets: Use $(IsSourceProject) == true

* Move XmlDocFileRoot to intellisense.targets, address suggestions for collecting xml file.

* Expand condition of CopyDocumentationFileToXmlDocDir to also check if IsNetCoreAppSrc == true.

* Change AfterTargets of CopyDocumentationFileToXmlDocDir from CoreCompile to CopyFilesToOutputDirectory

* Move PackageDownload to intellisense.targets

* Remove Choose+When. Readjust properties for Private.Intellisense files/folders. Fix conditions for doc file swap.

* Rename csproj property to something more clear.

* Default csproj property to true.

* Missed adding the "not previously set" condition for UseIntellisensePackageDocXmlFile in intellisense.targets.

* Remove incorrect condition in CopyDocumentationFileToXmlDocDir.

* Missed property reuse in Condition in sfxproj

* Only evaluate second IntellisensePackageXmlFile if the first one did not acquire any value.

* Move intellisense.targets import from root to libraries, right after the IsNetCoreAppSrc property is declared so we can use it.

* Enable CS1591, skip arcade warning

* Move SkipArcadeNoWarnCS1591 to src/libraries/Directory.Build.props to avoid coreclr failures

* Remove unnecessary slashes in sfxproj

* Move SkipArcadeNoWarn up to the top of src/libraries/Directory.Build.props to ensure it gets loaded before importing arcade.

* Revert Brotli and Vectors csproj changes. Those assemblies are either a partial facade or use PNSE.

* Add target to intellisense.targets that runs as InitialTarget of the current project, and throws errors if the UseIntellisensePackageDocXmlFile is set to false and the assembly is either a partial facade or uses PNSE.

* Improve error message: Mention the problematic property and the offending assembly.

* Added extra condition to verification target to only run when UseIntellisense... is not set to true.
Also moved the initial definition to its own solitary property group right before the verification target runs.

Rename the properties that acquire the value of a file path to "FilePath" instead of just "File", for clarity.

---------

Co-authored-by: smasher164 <akhilindurti@microsoft.com>
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
2023-02-01 14:29:00 -08:00
Carlos Sanchez
46a93d9edc
Fix source build problem with missing intellisense xmls (#75981) 2022-09-21 15:18:58 -07:00
Viktor Hofer
0d27b099bd
React to MSBuild Traversal and NoTargets SDK updates (#52895)
* Remove custom rebuild entry point in Build.proj

The rebuild target was added into the Traversal SDK here: fd7660d62b (diff-ad560c0828c6bab536a01e43bb052bfce14a959b8df2c3f89cccfca0b399681c)

* Update global.json

* Update global.json

* Update native-binplace.proj

* Update externals.csproj

* Update native-binplace.proj

* Update native-binplace.proj

* Default tfm for NoTargets projects

* Don't run GenFacades on ApiCompat.proj

* ApiCompat fix and packaging cleanup

* Fixes

* Only set if not multi-targeting
2021-05-20 08:28:04 +02:00
Viktor Hofer
68c5658b93
Stop reading TargetFramework prop in props files (#52897)
* Stop reading TargetFramework prop in props files

The TargetFramework property isn't expected to be set in props files
before a project's body is evaluated.

Don't let BuildTargetFramework property fallback to TargetFramework as
BTF's sole intent is to convey the TargetFramework to filter to and not
the current selected TargetFramework. Reduce usage of BTF so that it is
only used in places where code is actually conditioned on filtering.

In addition to that, specify BuildTargetFramework as a global property for
all traversal builds so when invoking one of the traversal projects directly
(src.proj, ref.proj, etc.), BuildTargetFramework doesn't need to specified
manually to get the default behavior (filter on compatible to net6.0).
Remove the inferred BuildingNetCoreAppVertical because of that and
inline its meaning.

Make sendtohelix a normal NoTargets proj so that it has access to the
properties which were moved into the Directory.Build.targets file as
otherwise it wouldn't import that file.
2021-05-19 20:04:01 +02:00
David Wrighton
fccdca068b
Simplify mibc usage in the build (#50536)
- Produce a merged mibc with all scenarios squished together
- Properly attach the mibc data to the incremental build for System.Private.CoreLib
  - This can't be done for the framework here. It will require mibc integration in the SDK
- Enable pgo optimization in checked builds
- Enable pgo optimization in framework compile for outerloop runs
2021-04-13 17:35:31 -07:00
Viktor Hofer
cdff28e8c4
Delete publish-final.proj and clean-up installer.tasks unused files (#48598)
* Delete publish-final.proj and delete unused installer.tasks files

* Avoid extra restore phase for tasks

The repo local tasks don't participate in the repo restore anymore,
hence avoiding the extra restore phase which should improve reliability
and build times.
2021-02-22 17:54:36 +01:00
Jeremy Koritzinsky
86d5d16d31
Switch to new Microsoft.DotNet.SharedFramework.Sdk and refactor Host/Installer build subsets (#38457)
* Start creating runtime, apphost, and targeting packs using the new SDK in the NewSFX subset.

* Fix generation of runtime package, runtime symbols package, and host symbols package.

* Correcly include hosting files and DIA in the shared framework archives and packages

* Include PackageOverrides.txt in the ref pack.

* Fix product brand prefix.

* Add the shared host installer.

* Add the hostfxr build and clean up MacOS building.

* Rename host and hostfxr projects to ensure we don't collide with the nuget packaging projects.

* Add bundle installer.

* Update platform manifest entries to include linux/mac file variations from the runtime.

* Update apphost pack to match master.

* Fix typo

* Include manpages and fix linux package properties.

* Fix linux package properties.

* Match short-description from packages in master.

* Update to uploaded package.

* Update metadata and SDK to generate an exact match of the productbuild xml file.

* First draft moving crossgen2 to new SDK.

* Get crossgen2 pack working with updated SDK.

* Build archives from the installer and bundle projects.

* Move the dotnet-runtime-deps installers to use the new SDK.

* Rough attempt to convert the build to use the new sfx sdk.

* Remove now empty subsets.

* Update installer subsets for testing.

* Remove non-existent packaging project from subsets.

* Add missing Windows api shim dll to platform manifest.

* Update sharedfx sdk.

* Add both versions of the long-name dac to the platform manifest.

* Skip builds for non-relevant components on Mono.

* Remove installer tests by default temporarily to validate product build.

* Remove pkgprojs subset from mono installer build since it doesn't build the hosts.

* Skip the apphost pack on mono.

* Update host test infra to use the new sfx projects.

* Delete an out of date test (the alternative case this test exercises is now the only case in this repo)

* Fix packaging tests and remove NETStandard packaging tests since we aren't producing that ref pack any more.

* Fixes for test official build failures. Re-eneable installer tests by default.

* Fix condition for building linux installers.

* Exclude Mono header files from the deps.json. They don't need to be in it.

* Don't include the host files on the sfxproj.

* Add mono-specific files to the platform manifest.

* Remove extra copy step in installer job.

* Include libmonosgen-2.0.a in platform manifest.

* Fix change in linux-x64 test steps.

* Fix display name of linux package steps.

* Build the installers based on the portable build when applicable so they can find their artifacts.

* The installer build no longer consumes Microsoft.NETCore.Platforms and Microsoft.NETCore.Targets, try removing the dependency on the AllConfigurations leg from the installer build.

* Set PackageBrandNameSuffix for runtime-deps packages.

* Updated sharedfx sdk

* Fix debian runtime-deps dependency elements.

* Add new platform manifest entries.

* Add icudt.dat to the platform manifest.

* Invert conditions to correctly skip generating installers on non-applicable platforms.

* Create extra installer subset so we can build just the installers (and avoid double-building nuget packages). Rename the newsfx subset and folder to sfx.

* Fix Crossgen2 package name.

* Clean up some dead MSBuild goo and update the sharedfx package so we can override the crossgen2 package name without breaking the default package id logic.

* Update SharedFX SDK.

* Fix discovery of the built dotnet layout for installer tests. Clean up some MSBuild along this path.

* Update to use the new refactored packages.

* Fix macOS build failures.

* Fix linux installer build.

* Upgrade to newest version of the SDK and centrally manage versions.

* Update SDK to fix build skipping for the shared framework sdk.

* Update SDK with full fix for skipbuild with packaging.

* Another try for fixing the build-skip infra.

* Upgrade SDK.

* Fix package ids for mono packages.

* Fix installer tests after update.

* Add System.Private.Runtime.InteropServices.Javascript.dll to platform manifest

* Fix Crossgen2 package to place all files in the tools folder.

* Update to SDK with validation targets.

* Add new ICU files to manifest.

* Crossgen2 doesn't need to go through framework resolution so we can permit non-file-versioned dlls. (jitinterface.dll is currently unversioned).

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Put the property in a property group.

* Ensure we build corehost before sfx since we no longer directly build the project from the sfx projects.

* Add missing entry for additional ICU data file.

* Remove step downloading all artifacts and remove MSBuild glue to hook up looking up artifacts in the full download.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Update SDK

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Update SDK to get MSI fix.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Don't even try building the hosting, crossgen2, or bundle installers when RuntimeFlavor is Mono.

* Remove out of date comment.

Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>

* Rename subsets based on PR discussion.

* Update platform manifest and fix path to 3rd party notices for installer.

* Remove test feed.

* Update subset references I missed.

* Fixed the subset arguments in other yaml files.

* Add NuGet metadata to packs.

* Add diagnostics-specific incremental signing in CoreCLR when the files are produced so the installer portion doesn't need to sign them.

* Pass sign type to job.

* Add new WASM files.

* Enable static graph restore for the whole repo

* Fix nits

* Add back the runtime-deps packages. They were lost when we moved away from globs.

* Don't disable NuGet static graph restore.

* Make sure we sign the cross-arch same-os DAC

* Update installers package.

* Update Installers package from arcade

* Update installers package.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2020-11-13 01:50:31 +00:00
Anirudh Agnihotry
3bb51130cf
Fixing the allconfig build. (#40812)
* fixing all config build

* address feedback
2020-08-14 18:28:46 -07:00
Viktor Hofer
809a06f451
Remove depprojs in favor of PackageReferences (#35606)
- Remove depprojs which currently binplace external references into the RefPath folders in favor of PackageReference and PackageDownload items.
- Build all configurations by default when building an individual project (either on the CLI or inside VS) same as with the official SDK. This enables .NETFramework Test Explorer support.
- Centrally define libraries that compose the shared framework instead of in each Directory.Build.props file to be able to build the targeting pack first and consume it in the OOB libraries.
- Use ProjectReferences to reference OOB projects. Compile against the reference assembly but use the implementation assembly app-local during runtime.
- Remove OOBs from the testhost and remove the testhost folder for .NETFramework as it isn't required anymore.
- Only binplace for $(NetCoreAppCurrent) to compose a) the targeting pack, b) the runtime pack, c) the testhost, d) a full closure for the shims.
- Use Targeting Packs for OOB projects (with their implicit assembly references) but still explicitly define granular references for .NETCoreApp configurations (DisableImplicitAssemblyReferences switch). Use the implicit targeting pack references in some Microsoft.Extensions.* cases.
- Remove placeholder configurations as they aren't needed anymore with explicit P2Ps vs Targeting Pack references.
- Remove implicit assembly references (ie for .NETFramework, mscorlib)
- Remove AssemblySearchPath hacks that were introduced with b7c4cb7 as the targeting pack is now used by default.
- Reduce unnecessary .NETFramework configurations that were added to run tests in favor of the already existing ref&src configurations.
- Stop hardcoding the paths for wasm assemblies and use the returned TargetPath of the ProjectReferences.
- Addressed formatting (ItemGroups, References at the bottom of the project file, ordering of references, use LibrariesProjectRoot instead of a relative path, unnecessary AssemblyName and RootNamespace properties which are identical to the project name, ordering of tfms)
- Revert "fix clean (#33758)"
2020-07-23 17:20:26 +02:00
Steve Pfister
b6ef0a54ad
Move mobile AppBuilder & AOTCompiler projects into tools-local (#36478)
Moving the projects will make sure their artifacts are always available to the different CI legs.
2020-05-15 13:36:11 -04:00
Viktor Hofer
f53c15657a
Consolidate subset projects into ProjectToBuild (#36441)
Consolidating subset projects into a single ProjectToBuild item type to
allow specifying projects to build from different subsets after the
subset was already built.
2020-05-14 16:05:38 +02:00
Viktor Hofer
a1af15d229
Update SDK and remove RID calculation in favor of RuntimeInformation (#35538)
* Remove GetTargetMachineInfo from runtime

* Update bootstrapped SDK

* Remove unused prop

* Rename RuntimeRID to HostRuntimeIdentifier

* Remove yml tmp copying

* Update SDK

* Move RuntimeOS into libraries

* Fix RuntimeOS move
2020-05-04 11:45:15 +02:00
Viktor Hofer
42183b1b86
Enable restore for ref and src projects in libs (#33553)
- Use RestoreUseStaticGraphEvaluation which improves no-op restore by 10-15x down to 10-20 seconds.
- .builds msbuild files renamed to .proj as RestoreUseStaticGraphEvaluation throws for non .proj files without an env var set.
- Introducing subsets for libraries and mono and replacing -buildtests switch which was only working for libraries in favor of the subset switch -subset tests which works consistently.
- Fixing the Microsoft.DotNet.CodeAnalysis analyzer which wasn't running and adding missing exclusions.
- Separating restore and build phases in different parts in the repo (ie for installer.tasks) as generated props and targets need to be imported which requires a reevaluation in the build phase.
- Fix eng/docker/build-docker-sdk.ps1 by using the official build entrypoints (cc @alnikola)
- Remove a few depprojs in favor of project restore (faster restore :))
- Fix root code coverage measurement not working correctly
- Traversal support instead of dir.traversal.targets or manual build target defines.
- Introduce a root Build.proj entrypoint which is responsible for building and restoring the repository. This is necessary to enable the new NuGet fast restore which works best and fastest with a single entrypoint.
- Avoid binclashes in libraries and between libraries and installer (netstandard.depproj vs netstandard.csproj)
- Upgrading the SDK to 5.0 latest
- Code cleanup
2020-04-06 11:54:10 +02:00