Skip to content
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

[Suggestion] Move WIL dependency to package manager #440

Open
YogurtTheHorse opened this issue May 6, 2019 · 8 comments

Comments

Projects
None yet
5 participants
@YogurtTheHorse
Copy link

commented May 6, 2019

Currently WIL dependency is referenced via git submodules. Maybe use NuGet package instead? Also, move GSL to NuGet and then reference it will be cool, but probably it's an issue for GSL repo.

The problem is that package management is not unified and I suppose that moving all dependencies to NuGet will be easier to support

@sylveon

This comment has been minimized.

Copy link

commented May 6, 2019

Since those are C++ dependencies and NuGet is mostly used for managed dependencies, it would make more sense to use vcpkg to get wil and gsl from.

@YogurtTheHorse

This comment has been minimized.

Copy link
Author

commented May 6, 2019

Unfortunely, I'm not a C++ dev, so not sure about C++ package managers, but as I thought, it's not a problem

@YogurtTheHorse

This comment has been minimized.

Copy link
Author

commented May 6, 2019

But adding another package manager is not a solution, anyway. It just will make the situation worse. What I wanted to state is that better when there is only one way of managing dependencies.

@sylveon

This comment has been minimized.

Copy link

commented May 7, 2019

The right tool for the right job. NuGet is terrible for C++ dependency management.

@zadjii-msft

This comment has been minimized.

Copy link
Member

commented May 7, 2019

So, we've discussed this with the GSL team. Because they're a headers-only library, shipping a nuget really really doesn't make any sense for them. Their official guidance was to use a submodule.

I don't think we even knew that there was a WIL nuget - looks like it's really new, so that explains why. @DHowett-MSFT /@miniksa thoughts?

@DHowett-MSFT

This comment has been minimized.

Copy link
Member

commented May 9, 2019

I chose to vend WIL as a submodule when they open-sourced because the VS project system has only very poor support for nuget packages against C++ projects. It exists, but it's really unpleasant -- you can't have transitive dependencies living in .props files, for example, because while ItemGroup.PackageReference is a thing, it only applies to literally everything but C++.

There may be some longstanding ill will here. 😄

@sylveon

This comment has been minimized.

Copy link

commented May 9, 2019

I've ported wil to vcpkg so now it's possible to use it for both gsl and wil: microsoft/vcpkg#6353

@miniksa

This comment has been minimized.

Copy link
Member

commented May 14, 2019

We talked to the vcpkg team yesterday about using vcpkg for things like this given that vcpkg seems to be the solution to C/C++ package management where nuget is more for managed code like C#.

We just haven't had the mental capacity to fully internalize what it would mean to get vcpkg up and going.

I believe it's probably the right solution because the vcpkg team is smart and knows this space better than we do. I'm also reticent to adding a third package manager, but I also want to do what experts say is right.

@miniksa miniksa changed the title [Suggestion] Move WIL dependency to nuget [Suggestion] Move WIL dependency to package manager May 14, 2019

@miniksa miniksa added the Mass-Chaos label May 17, 2019

@msftbot msftbot bot added the Needs-Tag-Fix label May 17, 2019

@miniksa miniksa added Product-Meta and removed Mass-Chaos labels May 17, 2019

@msftbot msftbot bot removed the Needs-Tag-Fix label May 18, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.