Can you point me to documentation/code for what you did with Robust?


On 12/28/2014 12:45 PM, James Hughes wrote:
Mono-Addins does 100% of what we need to manage (subscribe to) remote
repositories and install plugins hosted in them.

-BlueWall

On Sun, 2014-12-28 at 08:43 -0800, Diva Canto wrote:
On 12/27/2014 6:56 PM, Mister Blue wrote:

Is there a way to incorporate the NuGet package manager
(https://nuget.codeplex.com/).
I looked at Nuget. Nuget is a package manager for VS applications. It
does a lot of things that we don't need, and it doesn't do anything
that we need to do. Essentially, Nuget takes your VS project, and adds
additional dlls in the bin folders and additional lines in .csproj. It
does more .Net things like keeping track of which .Net framework
version the packages are for. It seems very much tied to Visual
Studio, and mono support seems weak. From their FAQ: "Keep in mind
that the focus of NuGet is to let you modify your projects and add
references to Visual Studio projects." [1]

This is not exactly what we need. We have our own runtime plugin
loading mechanism, region modules. What we need is a package manager
for region modules. Region modules have specific needs, such as having
their own configuration files and their own runtime dependencies. And
they don't have many of the needs that static link-time packages do:
usually region modules don't depend on other region modules, they tend
to be self-contained packages. (although dependencies are possible)
And obviously, they aren't listed explicitly as dependencies of
OpenSim.Region.

There's a console interface to Nuget that seems to be more inline with
what we need:
http://blog.davidebbo.com/2011/01/installing-nuget-packages-directly-from.html
This seems to be a niche use of Nuget, though, and it doesn't do the
most critical part of what we need, which is to automate the dll load
path and the .ini path. If we use Nuget with this interface, it serves
solely to upload/download packages to/from a central repository, which
I'm not sure where it is, and we'd have to fix the paths by some other
means.

Nuget is designed to help people incorporate 3rd party libraries into
their own VS projects, which is the kind of activity that we do when
we develop for OpenSim (in Windows). But that's not what we are
talking about here. We need something that helps non-developers
incorporate 3rd party custom plugins into a specific application,
OpenSim. There is no compilation/static link steps at the user's site;
there's just dropping in additional dlls and configuration files
somewhere.

The question is where those files should be dropped, and how they are
picked up by OpenSim. Dumping everything in bin (which is what Nuget
does) doesn't sound like a good idea and, in fact, we already have the
basics in place to host 3rd party plugins under addon-modules. I think
we should proceed on that route.

So if someone is interested in figuring out how to hack around Nuget
to make it work well for OpenSim region modules, go ahead. I am not
going to explore that option any further, as what I saw doesn't seem
seem a good fit with what we need. My sense is that in the beginning
Nuget (called Nu) seemed in line with Linux-like package managers, and
at some point it made a sharp turn to become an extension of Visual
Studio.

(It would also be weird to host OpenSim region modules -- a
specific .Net application's plugins -- in the generic Nuget Gallery.
Region modules aren't useful for anything but OpenSim.)

[1] http://docs.nuget.org/docs/start-here/nuget-faq

On Sat, Dec 27, 2014 at 5:37 PM, Diva Canto <[email protected]>
wrote:
         On 12/27/2014 3:33 PM, Diva Canto wrote:
                 Unfortunately, .Net doesn't seem to understand wild
                 cards in the <probing> element, so the installation
                 procedure will need to edit this <probing> element
                 and add the new directory explicitly to the
                 privatePath, with semi-colon in between, which is
                 not very nice. But that's Windows philosophy, I
                 guess...
We could do this too, and scan everything under
         addon-modules/*/bin until we find a match. This would have
         to be done in OpenSim.
http://stackoverflow.com/questions/1561806/looking-for-net-assembly-in-a-different-place _______________________________________________
         Opensim-dev mailing list
         [email protected]
         http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to