Skip to content

NET6 support, embedded readme #665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Dec 25, 2021
Merged

NET6 support, embedded readme #665

merged 4 commits into from
Dec 25, 2021

Conversation

sungam3r
Copy link
Member

@sungam3r sungam3r commented Dec 8, 2021

No description provided.

@sungam3r sungam3r requested a review from Shane32 December 8, 2021 22:56
@github-actions github-actions bot added CI CI configuration issue or pull request performance test labels Dec 8, 2021
@sungam3r sungam3r added enhancement New feature or request and removed performance labels Dec 8, 2021
@Shane32
Copy link
Member

Shane32 commented Dec 8, 2021

Why are we adding multi-tfm approvals?

@sungam3r
Copy link
Member Author

sungam3r commented Dec 9, 2021

Because published packages have multiple TFMs. My goal - 100% correct versioning with any combinations of TFMs/ifdefs/csproj compile conditions.

@Shane32
Copy link
Member

Shane32 commented Dec 9, 2021

It’s an unnecessary complexity. We don’t have ifdefs.

@Shane32
Copy link
Member

Shane32 commented Dec 9, 2021

If I’m wrong and we do, that’s one thing, but if we don’t then we should not be cluttering up the code unnecessarily.

@sungam3r
Copy link
Member Author

sungam3r commented Dec 9, 2021

Let me explain my motivation.

We don’t have ifdefs.

For now yes but we have multiple TFMs and this is already a sufficient condition. This actually means that we have physically different API sets. The code is compiled into independent assemblies and these assemblies are distributed together in one nuget package. These assemblies are now identical. I do not have any desire and the ability to determine this identity manually. Let the test make it for me. In the case of GraphQL.NET I have already seen a precedent when, after adding a new TFM - net6, it took the priority over the already existing TFMs and hid them behind net6-specific approval file.

cluttering up the code unnecessarily

I disagree about cluttering. The test is written in so that it does not generate a single unnecessary file. As soon as something really changes in the public API in any TFM for any reason, it will be visible.

I will emphasize once again - it is done to never admit the invisible divergence of public API in the future.

@Shane32
Copy link
Member

Shane32 commented Dec 9, 2021

It is completely unnecessary. It is unnecessary in GraphQL.NET, and completely pointless here. You changed a method with about 3 lines of code in it to a method with 30 lines of very delicate code in it. I don't want to be the guy trying to fix it the moment that the project file changes or the SDK compiles it into another folder or whatnot -- when there's absolutely no reason for this change. It's not a good idea.

You can put in another PR once there's a REASON for this code. There is no reason now. I don't even know why this project is adding a tfm for net6 at all. It should not be necessary; it's not like the runtime bindings will change or anything.

Let's focus on actually fixing issues and improving the codebase. Not adding pointless tests. For example, right now the project requires a dependency on Newtonsoft.Json even when you're using System.Text.Json. That would be something worth fixing, something that actually makes a difference. Other users are having memory leaks with subscriptions. They honestly don't care two cents about whether the public API changes or not, so long as it works with their code.

@sungam3r
Copy link
Member Author

sungam3r commented Dec 9, 2021

I described my arguments. From your side I see only a remark that the test code has increased from 3 lines to 30. I can not seriously refer to such an argument, sorry. It is better to have a correct 100-lines code than 10-line code which leads to errors or incorrect interpretation.

when there's absolutely no reason for this change. It's not a good idea.

I persistently try to explain the reasoning. And I showed an example of an error with approvals that has already happened - hiding of one API set behing another. I tried to describe it as much as possible. I have nothing more to add further than what I have already explained.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@sungam3r sungam3r changed the title NET6 support, embedded readme, multi-tfm approvals NET6 support, embedded readme Dec 25, 2021

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@sungam3r sungam3r self-assigned this Dec 25, 2021
@sungam3r sungam3r added this to the v5.2 milestone Dec 25, 2021
@sungam3r
Copy link
Member Author

Multi-TFM moved in other PR.

@codecov-commenter
Copy link

Codecov Report

Merging #665 (2868d8c) into master (ecc92a3) will increase coverage by 0.50%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #665      +/-   ##
==========================================
+ Coverage   54.52%   55.02%   +0.50%     
==========================================
  Files          64       64              
  Lines        1592     1592              
  Branches      158      158              
==========================================
+ Hits          868      876       +8     
+ Misses        670      662       -8     
  Partials       54       54              
Impacted Files Coverage Δ
src/Core/DefaultGraphQLExecuter.cs 88.46% <0.00%> (+7.69%) ⬆️
src/Core/Extensions/ServiceCollectionExtensions.cs 56.52% <0.00%> (+17.39%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ecc92a3...2868d8c. Read the comment docs.

@sungam3r sungam3r merged commit fe16988 into master Dec 25, 2021
@sungam3r sungam3r deleted the net6 branch December 25, 2021 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI CI configuration issue or pull request enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants