dotnet / ResXResourceManager

Manage localization of all ResX-Based resources in one central place.
MIT License
1.29k stars 211 forks source link

feat: add Central Package Management #593

Closed bdovaz closed 7 months ago

bdovaz commented 8 months ago

Note, in the WPF project I have disabled it because it still has the old csproj format and does not seem to be compatible.

tom-englert commented 8 months ago

Using https://github.com/sboulema/NuGetMonitor I don't see a real benefit in CPM. CPM only adds value if you do package management manually, by editing project files in the text editor.

bdovaz commented 8 months ago

There are clear benefits such as having clear in a single place the dependencies of your solution but above all, avoid having different versions of a dependency between different projects of the solution that is the most complex thing to manage. I know that with the VS UI you can manage it but it is easier not to depend on a specific IDE in an open source project that you want people to contribute.

I don't see any harm in implementing it.

With my contributions the only thing I want to do is to help you in this case of using functionalities that are being implemented in the .NET ecosystem.

If you agree I will solve the conflicts that have been generated these last days in this branch, if not I will close it and that's it, but it makes me sad to want to help and not see on your part predisposition to these improvements that do no harm.

https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management

tom-englert commented 8 months ago

I'll have to wait until this get's fixed: https://github.com/sboulema/NuGetMonitor/issues/25

tom-englert commented 8 months ago

Please never merge master into a feature branch, always rebase feature branches on master.

bdovaz commented 8 months ago

@tom-englert check that everything is ok, I have fixed the Newtonsoft.Json problem, with that everything should be ok.

bdovaz commented 8 months ago

@tom-englert I would also like to know:

  1. Why the Netwtonsoft versioning problem
  2. If it would be possible to switch to System.Text.Json
tom-englert commented 8 months ago

https://devblogs.microsoft.com/visualstudio/using-newtonsoft-json-in-a-visual-studio-extension/

tom-englert commented 8 months ago

Newtonsoft.Json and Sytem.Text.Json have so many differences in their default behavior, it would be hard to verify that nothing has changed, unless you write lots of tests first.

tom-englert commented 8 months ago

Actually your PR looks promising, can you squash and rebase it on master branch?

bdovaz commented 8 months ago

@tom-englert and how do I do that when I have multiple commits and merge master in my branch? I have never done that.

Besides, why is it important? On GitHub you can merge it as squash and make it only 1 commit.

tom-englert commented 8 months ago

In such a case I usually do a soft reset to the branch point, and then do one commit, then rebase this on master.

Otherwise you can't see the real diff and impact before merging

bdovaz commented 8 months ago

@tom-englert if you want people who contribute to do that you should explain how to do it because in my case I don't know what commands I have to execute nor what risk they have.

I don't know if that bureaucracy is so necessary to merge this PR because all it's going to do is complicate it.

Currently at: https://github.com/dotnet/ResXResourceManager/pull/593/files

There are only the differences of my branch with respect to master nothing else.

tom-englert commented 8 months ago

Well, if s.o. contributes on Git, some Git know how should be expected.

That's e.g. a good read: https://www.tugberkugurlu.com/archive/resistance-against-london-tube-map-commit-history-a-k-a--git-merge-hell