Git Product home page Git Product logo

Comments (5)

erri120 avatar erri120 commented on June 12, 2024

The source generator uses the post-init stage to create all the augments and base types:

initContext.RegisterPostInitializationOutput(postInitContext =>
{
// Core
postInitContext.AddSource(ValueObjectAttribute.HintName, ValueObjectAttribute.SourceCode);
postInitContext.AddSource(IValueObject.HintName, IValueObject.SourceCode);
postInitContext.AddSource(IAugment.HintName, IAugment.SourceCode);
postInitContext.AddSource(IAugmentWith.HintName, IAugmentWith.Generate());
// Augments
postInitContext.AddSource(Augments.DefaultValueAugment.HintName, Augments.DefaultValueAugment.SourceCode);
postInitContext.AddSource(Augments.DefaultEqualityComparerAugment.HintName, Augments.DefaultEqualityComparerAugment.SourceCode);
postInitContext.AddSource(Augments.JsonAugment.HintName, Augments.JsonAugment.SourceCode);
postInitContext.AddSource(Augments.EfCoreAugment.HintName, Augments.EfCoreAugment.SourceCode);
// Augment interfaces
postInitContext.AddSource(AugmentInterfaces.IDefaultValue.HintName, AugmentInterfaces.IDefaultValue.SourceCode);
postInitContext.AddSource(AugmentInterfaces.IDefaultEqualityComparer.HintName, AugmentInterfaces.IDefaultEqualityComparer.SourceCode);
});

By design, this stage doesn't have any dependencies, so it will always output the same code regardless of the context. As such, I won't be changing the generator to conditionally output these kinds of sources.

from transparentvalueobjects.

erri120 avatar erri120 commented on June 12, 2024

As for compatibility, I think I'll follow the .NET Support Policy and try to support .NET 6, 7, and 8.

from transparentvalueobjects.

Sewer56 avatar Sewer56 commented on June 12, 2024

As for compatibility, I think I'll follow the .NET Support Policy and try to support .NET 6, 7, and 8.

Misc Note: That policy also covers Framework which is considered as 'supported', hence why MSFT libraries still ship netstandard 2.0. (Much to some library authors' dismay)

from transparentvalueobjects.

erri120 avatar erri120 commented on June 12, 2024

As for compatibility, I think I'll follow the .NET Support Policy and try to support .NET 6, 7, and 8.

Misc Note: That policy also covers Framework which is considered as 'supported', hence why MSFT libraries still ship netstandard 2.0. (Much to some library authors' dismay)

That's part of the .NET Framework Support policy. I meant the .NET and .NET Core policy, which only covers the latest LTS and STS releases.

from transparentvalueobjects.

Sewer56 avatar Sewer56 commented on June 12, 2024

Got a bit busy there, sorry for the wait.

To clarify. The note I was making that if the point is to 'do what Microsoft does', then that means supporting Xamarin (Mono) and Framework. So netstandard2.0 for libraries.

I know you (probably) don't want to do that, but it felt necessary to point out.

from transparentvalueobjects.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.