Skip to content

Conversation

@NKnusperer
Copy link
Collaborator

No description provided.

- Updates build infrastructure to .NET 5.0
- YAXLib now targets netstandard2.0
- Testsuite is green when targeting net48 and net5.0
- DemoApplication is now a NET 5 Windows Forms app
- General cleanup
- Normalized line endings
- Ignore .idae
- Published NuGet package
@NKnusperer NKnusperer requested a review from axunonb March 2, 2021 08:00
@NKnusperer NKnusperer mentioned this pull request Mar 2, 2021
@axunonb
Copy link
Member

axunonb commented Mar 2, 2021

Very good, thanks! Few questions re current PR:

  • Should we have target frameworks net461, netstandard2.0, net5.0 with corresponding tests under net461, netcoreapp3.1, net5.0?
  • Would a reference to Microsoft.SourceLink.GitHub be a good thing for a new release? (It's included in the current master)?
  • Should C# language version (v9?) be included in csproj?
  • appveyor.yml is still on msbuild. You mentioned moving to dotnet, which makes sense
  • Thinking of a semver v3 release: Should members marked as obsolete be already removed?
  • Publish more platforms for Linux (as Julian proposed)?
  • Current master includes a ReSharper "full code clean-up" (and updated file headers). Would this make sense to you?

@NKnusperer
Copy link
Collaborator Author

NKnusperer commented Mar 2, 2021

  1. net461 does not really support netstandard2.0, I will just quote the Microsoft documentation here about this:

While NuGet considers .NET Framework 4.6.1 as supporting .NET Standard 1.5 through 2.0, there are several issues with consuming .NET Standard libraries that were built for those versions from .NET Framework 4.6.1 projects. For .NET Framework projects that need to use such libraries, we recommend that you upgrade the project to target .NET Framework 4.7.2 or higher.

So technically we also could test using net472 if we really want to. Not sure about this. Same for netcoreapp3.1.
Personally I do not like the idea of allocating resources to support platforms which will be EOL soon, but this is open for discussion.

  1. I like Source Link but never have implemented it, if the current implementation is working then we should use this.
  2. LangVersion is set to latest which is bound to the current SDK version specified in the global.json file so it is in fact already v9.
    <LangVersion>latest</LangVersion>

    "version": "5.0.103"
  3. You're right, I missed this part (now implemented).
  4. I noticed this but I'am not sure what this was used for and if it is still relevant. For me it would be fine to remove this.
  5. There is no need to publish for different platforms, everything should work with a single netstandard2.0 build artifact.
  6. Didn't noticed this, have to review this.

@NKnusperer NKnusperer force-pushed the fetaure/merge-yaxlib.redux branch 2 times, most recently from 7304539 to 6df30dd Compare March 2, 2021 10:28
@NKnusperer NKnusperer force-pushed the fetaure/merge-yaxlib.redux branch from 6df30dd to d705230 Compare March 2, 2021 10:29
@axunonb
Copy link
Member

axunonb commented Mar 2, 2021

Re 7 there is also an existing .editorconfig

Copy link
Collaborator

@304NotModified 304NotModified left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I have difficulties to accept this pr as there are too much changed files imo. (not only newlines). I'm not sure if we could review 144 changed files. Also not all changes seems to be strictly needed.

But if @axunonb think this is ok, I will trust that.

Ps

like Source Link but never have implemented it, if the current implementation is working then we should use this.

I've done that multiple times and I could check it. Maybe create an issue for it so we don't forget?

// http://msdn.microsoft.com/en-us/library/system.xml.linq.xname.aspx

// Leave namespace part alone, refine localname part.
int closingBrace = elemName.IndexOf( '}' );
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think these changes are needed (removed var)

It's poluting the pr

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally agree, it was just a personal preference to change this because I don't like the idea of "hiding" types when they are not explicitly declared both on the left or right hand side and I have to use the IDE to get this information.
To resolve this I would have to redo the all of this from a vanilla version of YAXLib. Do we want this?

Copy link
Member

@axunonb axunonb Mar 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss the future code base outside the pr

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To resolve this I would have to redo the all of this from a vanilla version

ReSharper could change to var syntax style across the solution.

@304NotModified
Copy link
Collaborator

Would a reference to Microsoft.SourceLink.GitHub be a good thing for a new release? (It's included in the current master)?

Yes, but it should be private.

@NKnusperer
Copy link
Collaborator Author

@axunonb the .editorconfig is already included.
Also I added source link as seen in #108: 253a43f
However I'm not sure if this is already enough because I think we are missing the ContinuousIntegrationBuild as described here:
https://devblogs.microsoft.com/dotnet/producing-packages-with-source-link/#deterministic-builds
Does the GITHUB_ACTIONS apply for appveyor too?

@304NotModified
Copy link
Collaborator

304NotModified commented Mar 3, 2021

However I'm not sure if this is already enough because I think we are missing the ContinuousIntegrationBuild as described here:
https://devblogs.microsoft.com/dotnet/producing-packages-with-source-link/#deterministic-builds
Does the GITHUB_ACTIONS apply for appveyor too?

Let do this in another PR? Related: NLog/NLog.Web#639

@axunonb axunonb requested a review from 304NotModified March 3, 2021 18:00
@NKnusperer NKnusperer mentioned this pull request Mar 4, 2021
@NKnusperer
Copy link
Collaborator Author

See #122.

@NKnusperer NKnusperer closed this Mar 4, 2021
@304NotModified 304NotModified deleted the fetaure/merge-yaxlib.redux branch March 21, 2021 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants