<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/27/2014 6:56 PM, Mister Blue
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAJ=JWqx=FiE=xKZDHPUwsDv7hRuWHEFzQRXXN-E6cDyuTKBLdA@mail.gmail.com"
      type="cite">
      <div dir="ltr">Is there a way to incorporate the NuGet package
        manager (<a moz-do-not-send="true"
          href="https://nuget.codeplex.com/">https://nuget.codeplex.com/</a>).</div>
    </blockquote>
    <br>
    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]<br>
    <br>
    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.<br>
    <br>
    There's a console interface to Nuget that seems to be more inline
    with what we need:<br>
<a class="moz-txt-link-freetext" href="http://blog.davidebbo.com/2011/01/installing-nuget-packages-directly-from.html">http://blog.davidebbo.com/2011/01/installing-nuget-packages-directly-from.html</a><br>
    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.<br>
    <br>
    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. <br>
    <br>
    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.<br>
    <br>
    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. <br>
    <br>
    (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.)<br>
    <br>
    [1] <a class="moz-txt-link-freetext" href="http://docs.nuget.org/docs/start-here/nuget-faq">http://docs.nuget.org/docs/start-here/nuget-faq</a><br>
    <br>
    <blockquote
cite="mid:CAJ=JWqx=FiE=xKZDHPUwsDv7hRuWHEFzQRXXN-E6cDyuTKBLdA@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sat, Dec 27, 2014 at 5:37 PM, Diva
          Canto <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:diva@metaverseink.com" target="_blank">diva@metaverseink.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex"><span
              class="">On 12/27/2014 3:33 PM, Diva Canto wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                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...<br>
              </blockquote>
              <br>
            </span>
            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.<br>
            <br>
            <a moz-do-not-send="true"
href="http://stackoverflow.com/questions/1561806/looking-for-net-assembly-in-a-different-place"
              target="_blank">http://stackoverflow.com/questions/1561806/looking-for-net-assembly-in-a-different-place</a>
            <div class="HOEnZb">
              <div class="h5"><br>
                <br>
                _______________________________________________<br>
                Opensim-dev mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:Opensim-dev@opensimulator.org"
                  target="_blank">Opensim-dev@opensimulator.org</a><br>
                <a moz-do-not-send="true"
                  href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
                  target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Opensim-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a>
<a class="moz-txt-link-freetext" href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>