Tags: MooVC/Fluentify
Tags
deps: bump actions/cache (#46) Bumps the actions-dependencies group in /.github/workflows with 1 update: [actions/cache](https://github.com/actions/cache). Updates `actions/cache` from 4.2.1 to 4.2.2 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4.2.1...v4.2.2) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1.3.0: Nested Types (#24) * ## Added - Support for Fluentify on nested classes and records (#3). * Added tests for the record variant of the nested class * Added additional test scenarios for nesting * Corrected nested interface tests * Added test for default constructor * Corrected DeclaredAttribute (removed Nested constraint) * Added additonal test scenarios * Removed unreachable case * Updated changelog
Release 1.2.0: Self-descriptors (#15) * Added unit tests with self descriptor in mind * Updated Descriptor retrieval to support "Self" Descriptor Updated tests #9 * ## Added - FLTFY07 is now raised if the usage of the `Descriptor` attribute results in the same value that Fluentify would selected by default. ## Changed - The Descriptor attribute can now direct Fluentify to use the delcared name as the Descriptor without having to repeat the declared name (#9). * Fixed a false positive w/ FLTFY07 * Improved testing scope for GetDefaultDescriptor * Added missing tests for SelfDescriptor on Records * Added additional tests for invalid descriptor * Added test to GivenPropertyWithDescriptorThenTheDescriptorIsReturned for an invalid descriptor * Added additional invalid descriptor examples Updated readme.md
Release 1.1.1: Ambiguous Constructor Call Fix (#11) * ## Fixed - The default constructor, generated for record types when marked as partial, now applies the fully qualified type when propagating the default value, thereby removing the potential for ambiguity with the projection constructor (#8). * Updated Sonar Analyzer * Applied Sonar recommendation
Release 1.1.0: Fully Qualified Type Information (#7) * ## Changed - The fully qualified type information for the subject upon which Fluentify has been placed is now captured and utilized when generating extensions, thereby enabling support for nest classes. #3 * ## Changed - The fully qualified type information for the subject upon which Fluentify has been placed is now captured and utilized when generating extensions, thereby enabling support for nest classes (#3). - Utilized Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing to improve the quality of the Generator tests. ## Fixed - The generated code files for classes now apply a conditional preprocessor directive to #nullable calls to prevent compilation failure in .NET Standard 2.0 projects. - The generated extensions no longer call ArgumentNullException.ThrowIfNull to prevent compilation failure in .NET Standard 2.0 projects. - The generated extensions no longer use pattern matching to prevent compilation failure in .NET Standard 2.0 projects. - The generated constructor for records now applies a preprocessor directive to the SetRequiredMembers attribute to prevent compilation failure in .NET 6 projects (#5). * ## Fixed - The generated code files no longer include the namespace if the containing namespace is global (#6). * Refactored unit tests to utilize the same snippets for coarse and fine grain API tests
Release 1.0.0: URL Corrections (#2) * Initial Push * Corrected the name of the Solution within the CI/CD actions * Corrected package pattern within CD * Added support for extension generation on classes * Updated README.md * ### Added - Params based extension generation for **Array** types, supporting additive operations. ### Fixed - **Builder<T>** is now correctly invoked by the generated extension, applying the returned instance to the subject. * ### Fixed - **Class** instance **initialization** now correctly sets each member, including properties annotated with **Ignore**. - The **generated constructor** for **partial record** types now correctly accounts for generic type parameters. * ### Added - Params based extension generation for types deriving from **ICollection<T>** that adhere to the **new()** constraint, supporting additive operations. * ### Added - Params based extension generation for **IEnumerable<T>**, **IReadOnlyCollection<T>** and **IReadOnlyList<T>**, supporting additive operations. * Added additional tests * ### Changed - The default descriptor for properties of type ``bool`` or ``bool?`` will now be the same name as the property, instead of ``With{PropertyName}``. ### Fixed - An extension accepting a ``Builder<T>`` parameter is no longer generated for value types. * Removed trailing whitespace * ### Fixed - An extension accepting a ``Builder<T>`` parameter is no longer generated for value types. * Updated date in changelog for Alpha 6 release * ### Added - Analyzer FY0002 that issues a Warning whenever the value provided for the Descriptor attribute is deemed unsuitable for use as a method name. - README.md to Nuget package. - Security Policy. * ### Added - Analyzer FY0001 that issues a Warning whenever the Fluentify attribute is attached to a class that does not have an accessible default constructor. * ### Added - Analyzer FY0003 that issues a Suggestion whenever the Ignore attribute is attached to a property that is already disregarded by Fluentify. * Added unit tests for analyzers * Renamed rules FY0000 to Fluentify00 * ### Added - Analyzer FLTFY01 that issues a Warning whenever the Fluentify attribute is attached to a class that does not have an accessible default constructor. - Analyzer FLTFY02 that issues a Suggestion whenever the Descriptor attribute is attached to a property that is disregarded by Fluentify. - Analyzer FLTFY03 that issues a Suggestion whenever the Descriptor attribute is attached to a property on a type that is not annotated with Fluentify. - Analyzer FLTFY04 that issues a Warning whenever the value provided for the Descriptor attribute is deemed unsuitable for use as a method name. - Analyzer FLTFY05 that issues a Suggestion whenever the Ignore attribute is attached to a property on a type that is not annotated with Fluentify. - Analyzer FLTFY06 that issues a Suggestion whenever the Ignore attribute is attached to a property that is already disregarded by Fluentify. - README.md to Nuget package. - Security Policy. * ### Changed - The Builder<T> delegate is now public, enabling generated extensions to be called from outside the scope of the current assembly. * Removed .NET 7 from actions * Minor markup corrections * ### Changed - Auto Instantiation extension overloads to use the `Func<T, T>` delegae in place of `Builder<T>`, addressing a warning relating to ambigious types when an assembly referencing Fluentify is referenced by another assembly that also uses Fluentify. - Nuget package metadata. ### Removed - The BuilderDelegateGenerator, used to generate the Builder<T> delegate, formally used by Fluentify to support Auto Instantiation and onward configuration. * Updated Sonar and addressed suggestions * Addressed issue relating to blank line * Disabled RS2002 - It doesn't properly account for the base class implementation * ### Changed - Nuget metadata to include DevelopmentDependency, instructing consumers to set PrivateAssets to all. - Nuget metadata to include PackageReadmeFile and PackageTags. * Added Step to Push to GitHub Packages Signed-off-by: MooVC <50200071+MooVC@users.noreply.github.com> * Temporarily enabled branch push for CD due to issue w/ workflow_dispatch Signed-off-by: MooVC <50200071+MooVC@users.noreply.github.com> * Altered permissions on CD Signed-off-by: MooVC <50200071+MooVC@users.noreply.github.com> * Removed push trigger on CD and applied cleanup * ### Fixed - Diagnostic Id documentation for FLTFY01. - HelpUrl for diagnostics. * Removed branch replacement steps from CI * Added Code Owners * Corrected URls for Analyzers * Added date to changelog --------- Signed-off-by: MooVC <50200071+MooVC@users.noreply.github.com>
PreviousNext