[Opensim-dev] Package manager

James Hughes jamesh at bluewallgroup.com
Sun Dec 28 20:45:50 UTC 2014


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 <diva at metaverseink.com>
> > 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
> >         Opensim-dev at opensimulator.org
> >         http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> >         
> > 
> > 
> > 
> > 
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at opensimulator.org
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




More information about the Opensim-dev mailing list