1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 11:37:04 +09:00
Commit graph

84 commits

Author SHA1 Message Date
Andy Gocke
83f8df4e78
Revert "Enable System.Text.Json tests on netfx (#63803)" (#64108)
This reverts commit 34794bc5f2.
2022-01-21 13:32:37 -08:00
Krzysztof Wicher
34794bc5f2
Enable System.Text.Json tests on netfx (#63803)
* Enable System.Text.Json tests on netfx

* use NETFRAMEWORK define

* disable another two test cases after rebase

* disable last test case which repros only on CI for me

* add p2p only on netfx
2022-01-19 13:45:01 +01:00
Matt Kotsenas
83c97613a3
Clarify P/Invoke shims guidance for OOB assemblies (#63470)
* Clarify P/Invoke shims guidance for OOB assemblies

The discussion in PR #63421 clarified that System.Native shims for UNIX
APIs aren't appropriate for assemblies that don't ship as part of the
Microsoft.NETCore.App framework.

Updating the interop guidelines to capture that clarification.

* Update docs/coding-guidelines/interop-guidelines.md

Co-authored-by: Stephen Toub <stoub@microsoft.com>

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2022-01-07 15:31:55 -05:00
Elinor Fung
4a1bcc3524
Add comment about using source-generated p/invokes to interop guidelines (#63350) 2022-01-04 15:29:44 -05:00
Jeremy Koritzinsky
a526e77b6d
Move clang-format download into dotnet/runtime and add docs for setting up auto-formatting in the repository (#59374) 2021-09-23 14:34:00 -07:00
Viktor Hofer
331823f404
Simplify .NETFramework tfms (#58558)
* Simplfy .NETFramework tfms

Libraries which target .NET Framework usually have rid agnostic tfms,
i.e. net461. If the library targets netstandard2.0-windows as well,
the .NET Framework tfm must be rid specific, as rid specific
.NET Framework apps would otherwise pick the .NETStandard asset over
the .NETFramework one (based on the RID compatibility rules)

There is yet another reason that requires .NETFramework tfms to be RID
specific, which is when a project P2Ps other projects which are
rid-specific. Without the RID specific .NETFramework tfm, a compatible
.NETStandard asset would be picked instead.

NuGet doesn't support setting a TargetPlatform in the TargetFramework
alias when targeting .NETFramework or .NETStandard. Any such tfms in
dotnet/runtime are currently leveraging a hack that strips the
TargetPlatform / TargetFrameworkSuffix away during restore and packaging
(as NuGet Pack uses the project.assets.json file).

As NuGet will likely never support RID specific .NETFramework tfm
aliases, the distinction between a RID specific and a RID agnostic
.NETFramework tfm is unnecessary.

Remove all "TargetFrameworkSuffixes" / TargetPlatforms / RIDs
(whatever you would like to call them) from .NETFramework tfms and let
the packaging targets handle the cases where a RID specific asset is
required in the package.

Explictly don't set TargetsWindows to true for .NETFramework builds as
the Targets* properties are infered from the platform / suffix and
many projects make the assumption that net461
(without the "-windows" part) doesn't set TargetsWindows=true.

Fixes https://github.com/dotnet/runtime/issues/58495

* Warn on .NETFramework duplicate runtime assets

* Ignore .NEtFramework non Windows and non empty RIDs

Also cleaning up the packaging.targets file and removing
the ExcludeFromPackage option which isn't needed anymore as
target frameworks aren't excluded from packages produced in
dotnet/runtime anymore.
2021-09-10 09:50:11 +02:00
Viktor Hofer
67354a2fb4
Upgrade to net7.0 and remove target frameworks (#58011)
* Remove EOL tfms and upgrade to net7.0

* Make linker tests net7 aware

Make installer tests run on net7.0

Don't attempt to use live apphost

Fix payloads

Regenerate test files

Fix package testing
2021-09-08 22:04:23 +02:00
Viktor Hofer
6c47cf8a2f
Rename transport packages to follow convention (#57504)
* Rename transport packages to follow convention

As agreed on in https://github.com/dotnet/windowsdesktop/pull/1936, we
want to follow a common schema when naming our transport packages.

Also updating the docs to reflect the name changes and to also
accomodate for the WindowsDesktop transport package.

* Update src.proj

* Update src.proj
2021-08-16 22:18:08 +02:00
Viktor Hofer
21e340dcaf
P2P instead of binplacing aspnetcore transport pkg (#57239)
Use ProjectReferences to compose the aspnetcore tranport package.
Avoid binplacing and with that unnecessary copies which overall
simplifies the infrastructure and allows to add additional transport
packages without creating a binplace configuration for each.

This also makes sure that the dependencies are compatible with the
package's tfm.
2021-08-12 20:37:23 +02:00
Viktor Hofer
22cee85aa0
Clean-up pkgproj leftovers in libs and apply fixes (#56899)
* Clean-up pkgproj leftovers in libs and apply fixes

Remove any pkgproj infrastructure that was only used by src/libraries
(which is the majority). Delete the packageindex *YAY*.
Update the documentation that covered the packageindex and the pkgprojs.

Avoid any incremental builds during packaging by removing
libraries-packages.proj and use src.proj for packaging instead. Make use
of the `GeneratePackageOnBuild` property to build package during the
allconfigurations without requiring a different entry target.

Fix the addition of the DocumentationFile during packaging when
`GeneratePackageOnBuid` is used by hooking onto the
`DocumentationProjectOutputGroup` that NuGet uses and replacing the
generated documentation file with the one that comes via the
intellisense package.
Also introduce a property to choose the generated documentation file
over the one from the intellisense package:
<UseIntellisenseDocumentationFile>false</UseIntellisenseDocumentationFile>

Removing a few leftover PackageDescription properties from the projects'
Directory.Build.props file.

Cleaning up properties in Directory.Build.props & Directory.Build.targets
files.

* Actually run packaging during the allconfigurations build

* Update docs

* make runtime specific pkgs non packable

* io.ports native pkg fixes
2021-08-06 12:01:36 +02:00
iinuwa
f0d1a8b390
Fix indentation on Interop directory tree example (#56718) 2021-08-02 13:17:23 -04:00
Eric StJohn
ffa4923a6e
Add analyzers to ref-pack / ASP.NET transport package (#54950)
* Add analyzers to ref-pack / ASP.NET transport package

* Updating shared framework SDK

* Respond to feedback

* Update arcade SDKs and remove property
2021-07-01 05:49:52 -07:00
Viktor Hofer
663c40dbc4
Expose missing references which are present in the runtime and in packages in the targeting pack (#54147)
* Expose missing refs from runtime in targeting pack

The platform analyzers warns for usages of APIs which aren't available
on specific platforms. Exposing the missing reference assemblies which
are already part of the runtime pack in the targeting pack.

The big benefit of doing so is that customers don't need to reference
the corresponding packages to target these APIs and that these five
packages can be dead-ended.

For more in-depth reasoning, see the detailed summary:
https://github.com/dotnet/runtime/issues/53892#issuecomment-858542280

Fixes https://github.com/dotnet/runtime/issues/53892

* Update dependents of dead-ended packages

Update depents by referencing the latest available package. Making sure
that packages are never used on NetCoreAppCurrent by applying
.NETCoreApp version conditions.

* Fixes

* Remove pkg validation suppression file

* Update Windows Compatibility pack

* Fix DirectoryServices pkg references

* Fix netfx Pkcs restore/build

* Fix version conflict

* Packageindex and nits

* nits
2021-06-15 19:32:15 +02:00
Aaron Robinson
c28b1897ae
Guidance on source generator projects (#54082)
* Guidance on source generator projects
2021-06-14 21:36:08 -07:00
Viktor Hofer
0377558d94
Include NetCoreAppCurrent configs in packages (#53439)
* Include NetCoreAppCurrent configs in packages

The NetCoreAppCurrent configurations were omitted from packages to avoid
ever growing packages. Now that we adhere to the support policy for
packages we don't need to exclude them anymore as the policy defines a
baseline for .NETCoreApp configurations.

This will remove an artificial difference when source building the
repository and also make it so that partner repositories which don't
depend on a transport package like windowsdesktop (winforms) receive
the very latest assets that are included in the shared framework as
well.

* Fix package validation for non exposed inbox libs
2021-06-08 23:36:01 +02:00
Eric StJohn
c0a1734094
Remove the use of IsPartialFacadeAssembly in refererences (#52793)
* Remove the use of IsPartialFacadeAssembly in refererences

This flag requires assembly-re-writing to replace type-defs in reference
assemblies with type forwards, when the same type exists in references.

We've pretty much exclusively used this on .NETFramework, since it's
not friendly to source build (CCI isn't part of source build).
.NETFramework isn't going to be changing so it doesn't save us much
to generate these typeforwards in the build.

We also used these to make sure the netstandard surface area was
compatible with .NETFramework facades (we'd use the pre-rewritten
reference assemblies for contract), but this need goes away now that we
have package validation based APICompat that compares netstandard refs
to net4x facades.

* Fix some projects I missed after changing naming convention

* Fixup another project

* Fix build of System.System.Threading.AccessControl

* Adding a section to ref-source docs on .NETFramework facades

* Address feedback
2021-05-19 08:22:04 +02:00
Eric StJohn
a50f309886
Add Analyzer packaging support and packaging documentation (#52554)
* Add Analyzer packaging support and packaging documentation

To package Microsoft.Extensions.Logging.Abstractions we needed support
for packing an Analyzer.  This adds that support.

I wanted to document this addition, so I created the start of a doc that's
meant to describe the packaging options for libraries in dotnet/runtime.

* Address code review feedback.

* More feedback

* Address more feedback

* Remove src.proj build of generators

* Update to use Microsoft.DotNet.PackageTesting

* Fix typos

* Fix package testing on net46*
2021-05-14 10:06:41 -07:00
Matt Thalman
09ad9e7eb4
Add section to interop guidelines about tracking dependencies (#52302)
* Add section to interop guidelines about tracking dependencies

* Set code owner

* Update wording
2021-05-13 06:56:34 -07:00
Eric Erhardt
99f4062f8e
Add documentation on ILLink files (#50302)
* Add documentation on ILLink files

* Add link to ILLink-files from project-guidelines
2021-03-28 16:52:37 -05:00
Stephen Toub
0817e748b7
Seal internal types in libraries (#50225) 2021-03-25 20:50:33 -04:00
CadenJi
9a70e7a688
Rule number correction (#49288) 2021-03-08 06:39:08 -05:00
Viktor Hofer
3553284bea
Rename mention to master branch to main (#48824) 2021-03-01 10:09:31 +01:00
Stephen Toub
2b0e2785e5
Use [NotNullWhen(true)] in more places (#47598)
* Use [NotNullWhen(true)] in more places

Did a quick search/audit for methods that returned bool and took nullable object as the first input, and added [NotNullWhen(true)] where it was obviously correct.

* Address PR feedback
2021-01-30 06:09:28 -05:00
Doug Bunting
e63969dba5
Clean up aspnetcore casing in ref to that repo (#47347)
- address difference I introduced in dotnet/aspnetcore#29511 and more
    - conflict detected in dotnet/aspnetcore#29520
- also s|aspnet/aspnetcore|dotnet/aspnetcore|
2021-01-22 14:43:06 -08:00
Anirudh Agnihotry
891e8d4d4f
move netcore platforms and targets to csproj (#46474) 2021-01-04 15:45:22 -08:00
Vladimir Sadov
99f3f55697
renaming clrcompression --> System.IO.Compression.Native (#45713)
* renaming `clrcompression` --> `System.IO.Compression.Native`

* rename `clrcompression.def` file

* exclude `System.*.Native.dll` when creating managed shims

* static library should be `System.IO.Compression.Native.lib` on Windows. Same as Globalization - without `lib` prefix

* revert change to the resource string in tests

* move consts to src/Interop, remove `lib` prefix on Windows

* Delete what used to be System.IO.Compression.clrcompression package

* Preserve old PlatformManifestFileEntry for clrcompression.dll

* partially revert the src\Interop change

* Adjust projects for removal of `Interop\Interop.Libraries.cs`

revert 1

* Undo entire System.IO.Compression.csproj to get rid of an invisible edit.
2020-12-08 15:50:10 -08:00
Jan Kotas
10381a2cdc
Find&Replace coreclr/src -> coreclr (#45761) 2020-12-08 10:40:17 -08:00
Stephen Toub
aebd598664
Update nullability.md 2020-11-23 22:45:58 -05:00
Levi Broderick
f56a56f90f
Convert aka.ms links to https (#44501) 2020-11-11 13:03:43 -08:00
Anirudh Agnihotry
b37f10a504
Changing Windows_NT -> Windows for enabling TargetPlatformMoniker feature of the sdk for platform specific tfms. (#43651)
* eng change

* coreclr change

* libraries change

* tests change

* installer & mono change

* py files changed

* .md change

* .yml change

* remove redundant targetos property

* Windows_NT -> windows after ninja change

* fixing runtime build failure
2020-11-02 14:25:58 -08:00
Stephen Toub
47e50116e6
Update coding-style.md 2020-10-29 16:25:32 -04:00
Eric Erhardt
4d784693eb
Updating ref source documentation for full facades (#41629) 2020-08-31 19:56:28 -05:00
Youssef Victor
d14b50ae21
Fix trailing whitespaces (#40891)
* Trim trailing whitespaces

* Match raw with rendered

* Delete extra asterisks and |

* Update ELT Hooks - tail calls.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-08-19 17:29:01 -07:00
Alexander Köplinger
c6eac1f2d5
Cleanup old corefx/coreclr GitHub issue links (#40286)
Replace them with the current URL after the redirect.

Similar to https://github.com/dotnet/runtime/pull/2063.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2020-08-13 23:13:51 +02:00
Stephen Toub
e7204f5d6f
Use T? for unconstrained nullable types (#40197)
* Temporarily upgrade compiler version for T? support

* Use T? for unconstrained nullable types
2020-08-07 11:25:42 -04:00
Viktor Hofer
b7f809d7e3
Update docs for packaging and other nits (#40134)
* Update docs for packaging and other nits
2020-07-30 15:29:30 +02: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
xtqqczze
4fdf9ff881
Markdown: Close anchor tags correctly (#38619) 2020-06-30 10:37:30 -07:00
Stephen Toub
3c9fcce29d
Disable P/Invoke analyzer (#38550) 2020-06-29 18:06:21 -04:00
Stephen Toub
3c278a3862
Update nullability.md 2020-06-25 11:21:14 -04:00
Stephen Toub
802103929a
Update nullability.md 2020-06-25 10:57:12 -04:00
Zoltán Lehóczky
54de085c2c
Fix typo in Framework Design Guidelines - Digest (#38307) 2020-06-23 17:04:00 -07:00
Larry Ewing
03b1ea75f3 Fix typo 2020-06-17 17:49:53 -05:00
Rich Lander
5018a64db8
Add proposal for breaking changes (#37779)
* Add proposal for breaking changes

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
2020-06-17 10:42:52 -07:00
Michal Strehovský
2a4284b9f3
Update steps to rebuild System.Runtime ref source (#38020)
Fixes #37966.
2020-06-17 05:48:07 -07:00
Steven Yeh
a589a173b4
Add Or int? (#37225) 2020-05-31 17:17:52 -04:00
Jeremy Koritzinsky
f62e93416a
Remove built-in WinRT support from the runtime (#36715) 2020-05-29 17:37:12 -07:00
Eirik Tsarpalis
1692e34e41
Document disabling ApiCompat checks (#37011)
* Document disabling ApiCompat checks
2020-05-26 18:50:18 +02:00
buyaa-n
abfdb542e8
Add NotNullIfNotNull, MemberNotNull attributes to doc (#36856) 2020-05-22 12:49:42 -07:00
Anirudh Agnihotry
322257f778
Use already defined generateAssemblyReferenceSource rather defining a new target (#35818)
* use arcade target

* extra space

* fixes generation of reference src from runtime projects

* run target to get genapi

* use referencePath to get references

* adding  GenerateReferenceSource target

* added the target name
2020-05-11 13:59:11 -07:00