Supporting packages - PodNet.Compat, PodNet.NuGet.Core, PodNet.Analyzers.* #5
yugabe
announced in
Open Source at podNET Hungary
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
There are a few packages we use to create and distribute our own packages that might not explicitly benefit your project if you try and consume them directly. You can consider these no-warranties, source-available packages. The source code for these is available mostly for reference only, but if you have any questions regarding them or wish to elevate them to be community packages, feel free to chime in here.
PodNet.Compat
A custom polyfill package that includes select functionality (records, init-properties, indices, ranges etc.) for working with newer language and framework features in older target frameworks, namely, .NET Standard 2.0 (which is the required target for source generators). Links source files into your compilation directly, thus enabling trimming. Not a general-purpose polyfill, but you can take a look at the source to see how linking into user code can be achieved using NuGet and MSBuild.
PodNet.NuGet.Core
A supporting package that helps with creating opinionated and branded podNET NuGet packages. Please don't reuse the icon in your own package, it is copyrighted. See the source for how to set defaults for consuming packages that are bound to be published to NuGet as well.
PodNet.Analyzers.Core
Supporting package that simplifies creating podNET-opinionated Roslyn analyzers. Helps to correctly package the analyzer assemblies and un/install scripts to the resulting NuGet package, provides other convenience and common runtime functionality for Roslyn analyzers (equality management, attributes handling etc.) and adds some later-introduced common functionality like
Path.GetRelativePath
for .NET Standard 2.0.PodNet.Analyzers.Testing
Helps with testing podNET-opinionated analyzers. Contains some veeery opinionated code for eg. running scripts inside the context of the compilation resulting from a generator being ran and its parent compilation.
PodNet.Analyzers.ConfigSnapshotGenerator
This is a package only used during debugging podNET-opinionated analyzers. This itself being a generator, it pulls most configuration available to the running generators and context available (source and additional text files), and dumps them into a generated .cs file as comments. Useful to find mis/configuration when developing generators, not much more.
Beta Was this translation helpful? Give feedback.
All reactions