-
Notifications
You must be signed in to change notification settings - Fork 874
Add nuget spec file + minor stuff #109
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
|
OK, this is pretty much done. nuget packages, both binary and symbol, are now automatically built with all .NET versions inside, ready to be published. Francisco, I disabled this feature until you review it and merge it. Symbol nuget packages are for publishing PDBs and source code; if they're published correctly Visual Studio (and other IDEs?) know how to automatically find them and download them if necessary: http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-symbol-package There is a small problem with the .NET 4.0 build only - it includes mscorlib.dll in the bin for some reason. I'll look into this in the coming days, this is a blocker for using the auto-built nuget packages. Here's a cool screenshot: |
|
I think it is excellent, Shay! Nice work! About the project license, Npgsql license is in fact the same as the postgresql server: http://opensource.org/licenses/postgresql |
|
I'm pretty sure that owners and authors relate to the project, not the package... Let me know what you want in these two fields. I'll also replace the license. |
|
Actually Francisco, I think that the license URL you gave is only a template for the Postgres license, i.e. we need to copy it and replace the variables. We can put the license on the github wiki and give that URL, what do you think? |
|
Oops, sorry. We have a Npgsql project license in this url: http://npgsql.projects.pgfoundry.org/license.html But I also think we could add a wiki page on github with a lot of information already found in the npgsql.org page. I think the idea could be in the future to have npgsql.org mapped to a github frontpage and wiki pages. What do you think? It would be much easier to update. Today I have to edit the html manually through an ssh connection. By using the wiki pages, it would be much easier to update them. |
|
I absolutely agree, especially if you have to do updates via SSH and HTML :) You can create a wiki page for the license, tell me when that's done and I'll integrate its URL in our nuspec. Then at some point maybe a redirect from the pgfoundry URL to github? |
|
Note: Right now the Npgsql version is hard-coded into the nuspec file. This means it must be updated in two different places (the nuspec and the AssemblyVersion.cs). Not so good, but I guess it'll be OK for now. I'll try to think of a good solution. |
|
As the ownership is about the npgsql project itself, please update it with my name and Josh Cooley's. Please, also, add your name and Glen Parker to the list of authors. You two have made significant contributions to Npgsql project! |
|
|
OK Francisco, the nuspec is updated. I've also changed the project URL to point to the github page. Please take a final look and let me know if it's OK with you. |
|
Thanks, Shay! |
|
Great, you can go ahead and merge! In the meantime I also managed to resolve the mscorlib.dll problem on .NET 4.0, it seems .NET 4.0 wasn't installed properly on the build server. All good now, so the nuget packages should really be ready to go. Francisco, I suggest that before actually releasing the 2.1.0 nuget you try it out a little, just to make sure it's OK. Also, do you already have an account at SymbolSource.org (like discussed here: http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-symbol-package)? |
Excellent!
Ok. I'll try it out. I didn't have an account yet, but I'll create one. Just a last change: please, add you name to the owners section of the nuspec. |
|
I'm not so sure I deserve this really... but if you insist... :) |
To avoid git doing CRLF->LF in packages Also killed old .cvsignore
|
Changed and rebased |
:) You made a lot of contributions and is helping me in a lot on the infrastructure to make Npgsql releases easier and codebase changes also more error and regression free with the team city integration. |
Add nuget spec file + minor stuff
|
I'm happy to help :) One more thing I think we should care of before we release - there is the issue of entity framework 6 vs. pre-6, and also maybe mono. I think we had a discussion some time ago and said that we maybe need a separate nuget for EF6 (I think that makes sense). I also think that for mono nothing special is needed, but I want to check what we said anyway. Probably not today, it's getting late here in Israel :) |
|
OK, I reenabled the TeamCity build step to do nuget pack, everything seems to be working great. You can log into TeamCity and look under "Artifacts" (or build outputs), and you will see both nugets. |
Thank you very much for your help, Shay! You rock!
I agree with you about the nuget for EF6.
Here is starting to get dark. But we are in daylight savings timezone now. :) |
I was almost saying that I wasn't able to see the nuget packages until I checked the artifacts of the All build type id. :) |
|
Here it is already almost midnight! Enough hacking for the weekend... A few thoughts though:
Based on the above, it seems we may need three nuget packages:
This may get confusing, but if you want to support everyone I'm not sure there's another way. Maybe it's a good idea to share this question on the devel-list... |
|
Hi. Sorry for disturbing. Please consider to supply them in one nuget package.
I think that EFv4 and EFv6 should be provided separately, because they can coexist each other in one application. |
|
@kenjiuno, you're not disturbing at all, thanks for your opinion. You know about EF much more than me. I would love to supply the different versions in one nuget package, but there's one problem: when you install a package, nuget automatically adds references in your project to the DLLs provided, according to the .NET version. So which DLL would you get a reference to: Npgsql.dll, or NpgsqlEF6.dll? How is nuget supposed to know? There's another issue. EF6 requires that our nuget package actually depend on the EF6 nuget package. A user that doesn't want EF6 (i.e. wants to use ADO.NET) shouldn't get the EF6 dependency, but again, if we have one package with both Npgsql.dll and NpgsqlEF6.dll, how would that work? This leads me to say that we need two packages, clearly labeled, so the user can choose at installation time whether they want EF6 or not... Do you see another way? Regardless of the above EF6 discussion, mono doesn't supports EFv4 (not open source), which is why we may need an additional package with no entity framework whatsoever (for mono ADO.NET usage). I'll do some research, maybe it's possible to get around this problem. |
|
Let's continue the entity framework discussion here: #110 |
Added a nuspec file, working on automating nuget package creation at the build server. Also some minor modifications.
Francisco, please don't merge this yet, it's still WIP. But please take a look at the nuspec itself, especially at the license / author stuff.