-
Notifications
You must be signed in to change notification settings - Fork 242
Release JSIL to NuGet #362
Comments
I don't have any interest in distributing binary releases of JSIL; it is purely a developer tool. I think if I were to simplify installation it would be by distributing prepackaged linux VMs that contain mono + necessary support libraries + a JSIL git checkout. EDIT: Naturally, this is not currently possible because the Mono developers take years to ship basic BCL container fixes... I also am uninterested in splitting them into separate packages. They're not intended to be separable. Compiler relies on Meta on purpose and JSIL output is not intended to work without JSIL.Libraries. You need the libraries for JSIL and not just for output projects, because they are used by the automated tests. |
Pulling the XNA profile out into a package is a good idea, though. |
Let me describe you my use case example.
Really, NuGet is a repository specially created for binary reference / developer tools. For example, you can find ILMerge there. |
The core problem with binary releases of JSIL is that they create the appearance that it will be usable by people who can't use git. It's simply not that kind of product at present; maybe it will be eventually, but it doesn't have that type of maturity yet: the documentation isn't that complete, it will throw exceptions that only make sense if you look at the line of source they're on, and bugs you run into will get fixed by a git commit instead of the next binary release coming in a week. I can see how your issues are troublesome though. I'll give them some more thought, but off the top of my head:
|
Okay, thank you for explanation your vision.I fully agree, that with NuGet publication here will be much more questions from people, who can't use JSIL on this stage of its' development. I think, that I even will have time to prepare public quality NuGet package. But here is one problem. When I look on NuGet, I have security/trust questions to NuGet package publisher (as it is application that will run on my computer). So, usually I trust to author of library (especially if it is distributed in binary form - I already use it in this case). It is not so trustful, if package was prepared/published by person, other than source owner/source owners team member. In other words, I may work on preparing NuGet packages, I can suggest them for discussion here (I can take some feedback how we can make them more usable), but I won't publish them myself on NuGet public feed. |
Tons of stuff on NuGet is kind of broken. It's pretty much expected. Think of it this way: it's advertising. Some developer might be searching NuGet for "C# to JavaScript" or something, and stumble onto JSIL, and try it out. And then find out that it errors in his particular case. And then get the source. And then fix a bug. It's been known to happen. ;) |
Probably JSIL should also copy Libraries scripts to some target folder during translation process. It will be really good, as we may control over used Libraries version (translated/stubbed/ignored) in translation, when we now all information from config. With it we end with only two packages: JSIL (with binaries and build targets) and JSIL.Meta. |
Will be partially resolved with #1013, still need to create JSIL.Meta package. |
I think it will be very convenient for other if they can simple install JSIL using NuGet.
I currently test it with my private JSIL build/private feed. I created three packages:
I have only one unresolved issues. Really, all this three packages depend on each other version, but as they should be installed in different projects, I can't restrict that they version be same.
The text was updated successfully, but these errors were encountered: