-
Notifications
You must be signed in to change notification settings - Fork 67
Support package.json magic #40
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
Conversation
I believe that most of the other scripts have references to the libgit2 path that will also need to be updated to make sure everything is in the right place when the package is built. |
f593dd8
to
00ad829
Compare
The tragic disappointment of this change means, of course, that we'll reopen libgit2/libgit2sharp#1170. HA HA. @bording did you happen to file a bug against mono? |
I randomly was thinking about this the other day, and realized this exact thing, but apparently forgot about it again before I had a chance to mention it. 😞 Unfortunately, I never found the time to actually set up a Bugzilla account at https://bugzilla.xamarin.com and go through the process of getting a decent but report filed. 😢 So, support nuget3-style native dependencies, or mono? |
Actually wait, if the props file and dllmap file still use the lib folder, won't that still put things in the right place? |
The question is what sort of change have to happen to the actual loading code to make this work in both scenarios? I'm not sure how you're supposed to be referencing these native libraries from managed code when using this .NET Core runtimes magic. |
Hmm. That would be nice. That seems reasonable. I was hoping to get a 1:1 mapping between what's in the nuget package and what ends up on the filesystem, but there's no need for that, I suppose (except my ever-decreasing sanity.) |
There shouldn't be any changes, if I understand correctly. .NET 4.whatever will still run msbuild as it used to. .NET Core won't run msbuild at all, so it will look for the magic paths. |
That also would have required changes here to make it look somewhere other than 'lib'.
So .NET Core must understand the runtime ids that are in the nuget package, and then uses those paths when processing the Maybe one day in the future this will be supported everywhere, and the extra path manipulation code could be removed, and this could all be simplified. Hah! |
Apparently .NET Core type builds will a) eschew msbuild magic, and b) place native binaries according to some directory hierarchy conventions. Let's try it.
Take the branch name or a pull request number.
Okay, well, some manual testing suggests that this is working for .NET 4 (not .NET Core) on Windows. I'm going to merge this so that I can spin an actual native nuget package (not a prerelease). If this is terrible then of course we can revert it. |
Apparently .NET Core type builds will:
a) eschew msbuild magic, and
b) place native binaries according to some directory hierarchy conventions.
Fixes #39