Closed jonathanvdc closed 7 years ago
You shouldn't need to change the nuspec to exclude Loyc.Ecs.dll
. The nuspec refers to Bin\Release*\
, which really means \Core\Bin\Release*\
because the nuspec is supposed to be built from the Core
folder. The higher level assemblies are built into \Bin\Release*\
, not Core
, so the nuspec file should not include them.
The failing appveyor test is my fault btw (again! sorry).
I've been meaning to split LoycCore into four separate nuget packages... and to also make packages out of Ecs, LeMP and maybe LLLPG... so this PR could help me get started. Thank you! I have been busy editing LESv3 and somehow everything takes longer than I expected - see here - I plan to finish those changes soon and then setting up the nuget packages will be my next goal.
I've split LoycCore into five separate NuGet packages, and turned LoycCore itself into a meta-package that lists all of those packages as dependencies. This should provide backward compatibility for existing users of the LoycCore package (a set of which I happen to be an element). I've also created an LLLPG package.
It's a shame that the AppVeyor checks are failing. Once all tests are successful AppVeyor can be configured to build and upload NuGet packages to nuget.org automatically whenever you create a new git tag
. It takes like five minutes to encrypt your NuGet key, paste it here, and that's it. AppVeyor will take it from there. This functionality has saved me lots of pain and trouble when managing Flame releases, so I'd absolutely recommend it.
Either way, I hope this PR is at least somewhat useful. Maybe I have been a little gung ho in creating all of these nuspecs without checking with you about what exactly you'd like them to include. But I suppose they make for a fair strawman, and I'd be more than happy to apply any additional suggestions.
I've also updated the copyright notices in the nuspec files. Happy New Year!
I merged the changes locally, changing a few things
Main
in order to reduce the clutter that new people see when they first encounter the repository.Cool how github saw that my commit was really your PR in disguise. But that's a really large number of commits, I kinda wish I had done some kind of squashing operation or whatever it's called.
It would be nice if I could somehow verify that the nuget packages will actually work properly before uploading them to nuget.org... anyway I am now trying to enable that deploy-from-appveyor thingie. But I suppose I'll test it later, as the new version of LoycCore is already on NuGet.org.
LeMP really should include ICSharpCode.TextEditor.dll
. IIRC, it's a forked copy edited slightly so it works on Linux - I probably don't want to reference the existing ICSharpCode.TextEditor nuget package. I don't know, I don't have Linux handy to test with. But for the purpose of using LeMP programmatically, it should still work without that DLL.
It would be nice if I could somehow verify that the NuGet packages will actually work properly before uploading them to nuget.org
I know right? I always worry that I might have made a mistake in the dependency names or versions when I git tag
. This StackOverflow thread seems relevant but doesn't suggest any simple solutions for our problem.
Deploy-from-appveyor seems to work! I'll test the NuGet packages you pushed on Flame and ecsc
now.
Update: the Loyc packages are working great! Thanks!
I thought Loyc's NuGet packages could use some love, so I went and hacked together a quick PR. If merged in, it will apply the following changes:
nuspec
files forLoyc.Ecs
and LeMP. AppVeyor will alsonuget pack
them.LoycCore.nuspec
's list of included files to excludeLoyc.Ecs.dll
.nuspec
files to use the$version$
variable instead of a hardcoded version. This makes it easier to keep all the Loyc NuGet packages in sync automatically. Note: this requires you to build them withnuget pack -Version 2.1.2 LeMP.nuspec
instead ofnuget pack LeMP.nuspec
.I think I got the package dependencies, file lists, and web links right. The package summaries and descriptions might need some further review. I pretty much just copied some snippets from the EC# website and put them together.
I was hoping you'd be willing to take a quick look at my (proposed) changes and maybe try to build the NuGet packages on your own machine. I tried them out on AppVeyor, which worked fine.
Any feedback would be much appreciated as well.