Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-06Update design and expose new attributes for the CustomTypeMarshaller support ↵Jeremy Koritzinsky
(#71682)
2022-06-29Update to use CustomMarshaller entry point type (#71398)Elinor Fung
2022-06-25Custom marshallers v2 usage (#71238)Jeremy Koritzinsky
* Enable using the new generator attributes before the new API shapes are approved * Disable the diagnostic that verifies that a marshaller type has the v1 attribute. * Convert some custom type marshallers to the v2 design. Convert as many of the marshallers as possible to their correct representation with the currently implemented feature set. This PR does not convert marshallers that can be represented with the new design but need more features to be accurately represented.
2022-05-12Define convention to consume and/or package analyzers (#69069)Viktor Hofer
* Define convention to include analyzers in ref pack Fixes https://github.com/dotnet/runtime/issues/61321 Until now we required source libraries to define ProjectReferences when an analyzer should be part of the shared framework. That strategy causes analyzer projects to leak into the ProjectReference closure and by that into a solution file. As an example: When another library references the source library that references the analyzer, the analyzer is part of the dependency closure even though it might not be required. This change makes it possible to define the shared framework analyzer projects in the NetCoreAppLibrary.props file for both the .NETCoreApp, and the AspNetCoreApp shared framework. Out-of-band projects which ship analyzers inside their produced package, continue to reference the analyzers via the `AnalyzerProject` item. * Use AnalyzerReference consistently * Don't reference analyzer when its packaged * Fix P2P reference * Fix multi target roslyn component target condition
2022-05-10Update generators.targets (#68860)Viktor Hofer
* Update generators.targets Changes: - Improve perf of LibraryImportGenerator condition and simplify it - Use the same msbuild code styling as in other projects in src/libraries - Update comments that were outdated - Remove the item conditions for the regex source generator which doesn't work well with the CPS (common project system) inside VS. - Remove unnecessary property * Update eng/generators.targets Co-authored-by: Jeremy Barton <jbarton@microsoft.com> * Update generators.targets * Update generators.targets Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
2022-04-27Fix VS complaining about missing projects in slns (continued) (#68543)Viktor Hofer
* Infra clean-up to simplify auto references * Ref project file updates * Src project file updates * Test project file updates
2022-04-25Fix VS complaining about missing projects in slns (#68488)Viktor Hofer
* Fix VS complaining about missing projects in slns Remove inbox (Project-)References in out-of-band projects as these projects already build on top of the shared framework (targeting pack). * Update Microsoft.Extensions ref projects * Update Microsoft.Extensions src projects * Update graph dependencies of Microsoft.Extensions* * Update sources that complained about Span usage
2022-04-19Expose ArrayMarshaller and PointerArrayMarshaller (#68173)Elinor Fung
2022-03-26Expose the custom type marshalling types for source-generated interop. (#67052)Jeremy Koritzinsky
Co-authored-by: Elinor Fung <elfung@microsoft.com>
2022-03-23Add the CustomTypeMarshallerAttribute type to make it easier to identify ↵Jeremy Koritzinsky
marshaller types (#65591)
2022-03-16Expose `LibraryImportAttribute` (#66434)Elinor Fung
2022-03-10Rename `GeneratedDllImportAttribute` -> `LibraryImportAttribute` (#66307)Elinor Fung
2022-03-04Rename `DllImportGenerator` project to `LibraryImportGenerator` (#66029)Elinor Fung
2022-02-28Make Is*Project properties unambiguous and improve IsGeneratorProject ↵Viktor Hofer
detection (#65896) * Make Is*Project properties unambiguous Currently these properties exist which categorize projects: - IsReferenceAssembly: The project's parent directory is 'ref' - IsGeneratorProject: The project's parent directory is 'gen' - IsTestProject: The project is located somewhere under a '/tests/' directory and the project name's suffix is either '.Tests' or '.UnitTests'. - IsTrimmingTestProject: Same as IsTestProject but the project name's suffix is '.TrimmingTests'. - IsTestSupportProject: The project is located somewhere under a '/tests/' directory and the above IsTestProject property is false. - UsingMicrosoftNoTargetsSdk: The project uses the NoTargets msbuild SDK - UsingMicrosoftTraversalSdk: The project uses the Traversal msbuild SDK - IsRuntimeAssembly: True when all above is false - IsSourceProject: True when the project's parent directory is 'src' The IsRuntimeAssembly and IsSourceProject properties meanings are ambiguous and the property names aren't consistent (IsReferenceAssembly vs IsGeneratorProject). I'm changing the above to the following: - **IsReferenceSourceProject: The project's parent directory is 'ref' or the parent of the parent directory is 'ref'** - IsGeneratorProject: The project's parent directory is 'gen' - IsTestProject: The project is located somewhere under a '/tests/' directory and the project name's suffix is either '.Tests' or '.UnitTests'. - IsTrimmingTestProject: Same as IsTestProject but the project name's suffix is '.TrimmingTests'. - IsTestSupportProject: The project is located somewhere under a '/tests/' directory and the above IsTestProject **and IsTrimmingTestProject** props are false. - UsingMicrosoftNoTargetsSdk: The project uses the NoTargets msbuild SDK - UsingMicrosoftTraversalSdk: The project uses the Traversal msbuild SDK - IsSourceProject: **True when all above is false.** * React to PR feedback
2022-02-24Add RegexGenerator to System.ComponentModel.TypeConverter. (#62325)Stephen A. Imhoff
* Add RegGen to System.ComponentModel.TypeConverter. Added to src, not to test (no test found) * Change to targets generator enablement * Correct RegGen for System.ComponentModel.TypeConverter * Remove extra space Co-authored-by: kasperk81 <83082615+kasperk81@users.noreply.github.com> * Remove .NetF inclusion definition * Remove implicit regex generator entrypoint * Remove regex generator enabled variable target. * Update eng/generators.targets Co-authored-by: kasperk81 <83082615+kasperk81@users.noreply.github.com> Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
2022-02-24sfx+oob split, shim project refactoring, P2PsViktor Hofer
Split the build of shared framework and out-of-band projects so that it's possible to just build the shard framework projects, which was requested by the CLR teams. In the next infrastructure rollout, the current "libs.ref+libs.src" subsets should be removed. Generate the targeting pack with an incomplete (without shims) frameworklist as part of the "libs.sfx" subset. Build the shim projects after the shared framework and oob projects and re-generate the targeting pack's frameworklist to include the shims. Refactor the shims so that they aren't grouped anymore by generated & manual. Instead group them by "ref" and "src" same as other libraries in the tree which allows to reference the source project shims and read from the ReferenceAssembly metadata. Use ProjectReferences in traversal projects and shim projects instead of named references that point to binplace directories (see graph below) This allows to build parts of the product dynamically, i.e. the shim projects, apicompat.proj, sfx.proj and oob.proj.
2022-02-24Update GeneratedDllImportAttribute CharSet -> StringMarshalling (#65544)Elinor Fung
2022-02-20Remove S.R.CS.Unsafe and Intrinsify Unsafe (#64861)Wraith
* private assemblies moved from Internal to System Runtime.CompilerServices * reformat existing unsafe vm intrinsics * implement Copy, CopyBlock, CopyBlockUnaligned, InitBlock, InitBlockUnaligned, Unbox, Add, Subtract, SubtractByteOffset * remove System.Runtime.CompilerServices.Unsafe il project and replace with forward only cs project * change all ilproj references to csproj * remove nativeaot Unsafe * add conditional package reference for S.R.CS.Unsafe on netcoreapp 6.0 * regenerate solutions * mono interp * [mono][interp] Implement Copy and Unbox intrinsics * [mono][jit] Implement Copy and Unbox intrinsics Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
2022-01-07[DllImportGenerator] Remove DLLIMPORTGENERATOR_ENABLED define (#63464)Elinor Fung
2021-12-09Switch over miscellaneous DllImports to GeneratedDllImport. (#62353)Jeremy Koritzinsky
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
2021-12-01Remove workarounds for referencing the DllImport source generator now that ↵Jeremy Koritzinsky
we use the RTM sdk. (#62156) Co-authored-by: Andy Gocke <andy@commentout.net>
2021-11-18Remove race condition from DllImportGenerator build (#61695)Jeremy Koritzinsky
2021-11-17[DllImportGenerator] Enable on projects without System.Memory and ↵Elinor Fung
System.Runtime.CompilerServices.Unsafe (#61704)
2021-11-15Use GeneratedDllImport for blittable p/invokes in ↵Elinor Fung
System.Diagnostics.Process, System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Runtime.InteropServices.RuntimeInformation (#61532)
2021-11-12Remove all DLLIMPORTGENERATOR_ENABLED usage. (#61476)Aaron Robinson
* Remove all DLLIMPORTGENERATOR_ENABLED usage. * Explicitly set EnableDllImportGenerator to true in test project.
2021-11-11Use DllImportGenerator in System.Diagnostics.PerformanceCounter (#61389)Elinor Fung
2021-11-06Convert to OleDb assembly and last Cryptography DllImport to ↵Aaron Robinson
GeneratedDllImport (#61184) * Enable DllImport generator for all source projects. * Convert OleDb to only use GeneratedDllImport. * Update source generator to distinguish between "no marshalling info" which can cause a failure vs "missing support" which enables us to fallback to the marshalling forwarder. * Remove unused DllImports. * Reuse existing P/Invoke definitions.
2021-10-06Dllimport generator build and test fixes (#59658)Jeremy Koritzinsky
2021-09-24Remove target framework in the call to DllImportGenerator.csproj.Jeremy Koritzinsky
This fixes an issue where a project that targets net7.0-windows accidentally ends up getting an output path pointing to the wrong directory for Microsoft.Interop.SourceGeneration.dll, which causes us to hit https://github.com/dotnet/roslyn/issues/56442.
2021-09-23Hook up DllImportGenerator to the libraries build (excluding solution file ↵Jeremy Koritzinsky
regeneration). Move System.Runtime.InteropServices unit tests to a subdirectory.
2021-09-15Update DllImportGenerator to the latest version (#59117)Jeremy Koritzinsky
2021-06-10Don't enable DllImport generator for shims (#53973)Elinor Fung
2021-05-10Basic infrastructure to enable DllImportGenerator (#52486)Elinor Fung