WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT.

This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1
Additional changes:
- Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing.
- Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent
sedebug
Diva Canto 2014-12-30 07:58:42 -08:00
parent 89c1ac4cff
commit 5cf6a6f830
23 changed files with 38 additions and 65 deletions

View File

@ -33,4 +33,4 @@ using Mono.Addins;
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: Addin("OpenSim.Groups", "0.1")] [assembly: Addin("OpenSim.Groups", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]

View File

@ -33,4 +33,4 @@ using Mono.Addins;
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: Addin("OpenSim.OfflineIM", "0.1")] [assembly: Addin("OpenSim.OfflineIM", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]

View File

@ -40,9 +40,11 @@ using OpenSim.Region.CoreModules.Scripting.DynamicTexture;
using OpenSim.Region.CoreModules.Scripting.LoadImageURL; using OpenSim.Region.CoreModules.Scripting.LoadImageURL;
using OpenSim.Region.CoreModules.Scripting.XMLRPC; using OpenSim.Region.CoreModules.Scripting.XMLRPC;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Mono.Addins;
namespace OpenSim.ApplicationPlugins.LoadRegions namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
[Extension(Path="/OpenSim/Startup", Id="LoadRegions", NodeName="Plugin")]
public class LoadRegionsPlugin : IApplicationPlugin, IRegionCreator public class LoadRegionsPlugin : IApplicationPlugin, IRegionCreator
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

View File

@ -27,16 +27,17 @@
using System.Reflection; using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Mono.Addins;
// General information about an assembly is controlled through the following // General information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly : AssemblyTitle("OpenSim.Addin")] [assembly : AssemblyTitle("OpenSim.ApplicationPlugins.LoadRegions")]
[assembly : AssemblyDescription("")] [assembly : AssemblyDescription("")]
[assembly : AssemblyConfiguration("")] [assembly : AssemblyConfiguration("")]
[assembly : AssemblyCompany("http://opensimulator.org")] [assembly : AssemblyCompany("http://opensimulator.org")]
[assembly : AssemblyProduct("OpenSim.Addin")] [assembly : AssemblyProduct("OpenSim")]
[assembly : AssemblyCopyright("Copyright © OpenSimulator.org Developers 2007-2009")] [assembly : AssemblyCopyright("Copyright © OpenSimulator.org Developers 2007-2009")]
[assembly : AssemblyTrademark("")] [assembly : AssemblyTrademark("")]
[assembly : AssemblyCulture("")] [assembly : AssemblyCulture("")]
@ -63,3 +64,6 @@ using System.Runtime.InteropServices;
// [assembly: AssemblyVersion("0.7.6.*")] // [assembly: AssemblyVersion("0.7.6.*")]
[assembly : AssemblyVersion("0.8.1.*")] [assembly : AssemblyVersion("0.8.1.*")]
[assembly: Addin("OpenSim.ApplicationPlugins.LoadRegions", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")]

View File

@ -1,11 +0,0 @@
<Addin id="OpenSim.ApplicationPlugins.LoadRegions" version="0.1">
<Runtime>
<Import assembly="OpenSim.ApplicationPlugins.LoadRegions.dll"/>
</Runtime>
<Dependencies>
<Addin id="OpenSim" version="0.8.1" />
</Dependencies>
<Extension path = "/OpenSim/Startup">
<Plugin id="LoadRegions" type="OpenSim.ApplicationPlugins.LoadRegions.LoadRegionsPlugin" />
</Extension>
</Addin>

View File

@ -1,6 +1,7 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Mono.Addins;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
@ -31,3 +32,5 @@ using System.Runtime.InteropServices;
// //
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: Addin("OpenSim.ApplicationPlugins.RegionModulesController", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")]

View File

@ -38,6 +38,7 @@ using OpenSim.Region.Framework.Scenes;
namespace OpenSim.ApplicationPlugins.RegionModulesController namespace OpenSim.ApplicationPlugins.RegionModulesController
{ {
[Extension(Path = "/OpenSim/Startup", Id = "LoadRegions", NodeName = "Plugin")]
public class RegionModulesControllerPlugin : IRegionModulesController, public class RegionModulesControllerPlugin : IRegionModulesController,
IApplicationPlugin IApplicationPlugin
{ {

View File

@ -1,13 +0,0 @@
<Addin id="OpenSim.ApplicationPlugins.RegionModulesController" version="0.1">
<Runtime>
<Import assembly="OpenSim.ApplicationPlugins.RegionModulesController.dll"/>
</Runtime>
<Dependencies>
<Addin id="OpenSim" version="0.8.1" />
</Dependencies>
<Extension path = "/OpenSim/Startup">
<Plugin id="RegionModulesController" type="OpenSim.ApplicationPlugins.RegionModulesController.RegionModulesControllerPlugin" />
</Extension>
</Addin>

View File

@ -1,6 +1,7 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Mono.Addins;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
@ -31,3 +32,5 @@ using System.Runtime.InteropServices;
// //
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: Addin("OpenSim.ApplicationPlugins.RemoteController", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")]

View File

@ -39,6 +39,7 @@ using log4net;
using Nini.Config; using Nini.Config;
using Nwc.XmlRpc; using Nwc.XmlRpc;
using OpenMetaverse; using OpenMetaverse;
using Mono.Addins;
using OpenSim; using OpenSim;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Communications; using OpenSim.Framework.Communications;
@ -56,6 +57,7 @@ using RegionInfo = OpenSim.Framework.RegionInfo;
namespace OpenSim.ApplicationPlugins.RemoteController namespace OpenSim.ApplicationPlugins.RemoteController
{ {
[Extension(Path = "/OpenSim/Startup", Id = "LoadRegions", NodeName = "Plugin")]
public class RemoteAdminPlugin : IApplicationPlugin public class RemoteAdminPlugin : IApplicationPlugin
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

View File

@ -1,11 +0,0 @@
<Addin id="OpenSim.ApplicationPlugins.RemoteController" version="0.1">
<Runtime>
<Import assembly="OpenSim.ApplicationPlugins.RemoteController.dll"/>
</Runtime>
<Dependencies>
<Addin id="OpenSim" version="0.8.1" />
</Dependencies>
<Extension path = "/OpenSim/Startup">
<Plugin id="RemoteController" type="OpenSim.ApplicationPlugins.RemoteController.RemoteAdminPlugin" />
</Extension>
</Addin>

View File

@ -26,12 +26,14 @@
*/ */
using OpenSim.Framework; using OpenSim.Framework;
using Mono.Addins;
namespace OpenSim namespace OpenSim
{ {
/// <summary> /// <summary>
/// OpenSimulator Application Plugin framework interface /// OpenSimulator Application Plugin framework interface
/// </summary> /// </summary>
[TypeExtensionPoint(NodeName="Plugin", NodeType = typeof(PluginExtensionNode), Path="/OpenSim/Startup")]
public interface IApplicationPlugin : IPlugin public interface IApplicationPlugin : IPlugin
{ {
/// <summary> /// <summary>

View File

@ -1,6 +1,7 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Mono.Addins;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
@ -30,3 +31,6 @@ using System.Runtime.InteropServices;
// Revision // Revision
// //
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: AddinRoot("OpenSim", "0.8.1")]
[assembly: ImportAddinAssembly("Opensim.Framework.dll")]

View File

@ -41,7 +41,7 @@ using OpenSim.Region.Framework.Scenes;
using Caps = OpenSim.Framework.Capabilities.Caps; using Caps = OpenSim.Framework.Capabilities.Caps;
[assembly: Addin("LindenCaps", "0.1")] [assembly: Addin("LindenCaps", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]
namespace OpenSim.Region.ClientStack.Linden namespace OpenSim.Region.ClientStack.Linden
{ {

View File

@ -34,5 +34,5 @@ using Mono.Addins;
[assembly: Addin("OpenSim.Region.CoreModules", "0.1")] [assembly: Addin("OpenSim.Region.CoreModules", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]

View File

@ -43,7 +43,7 @@ using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
[assembly: Addin("DataSnapshot", "0.1")] [assembly: Addin("DataSnapshot", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]
namespace OpenSim.Region.DataSnapshot namespace OpenSim.Region.DataSnapshot
{ {

View File

@ -32,6 +32,7 @@ using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.Framework.Interfaces namespace OpenSim.Region.Framework.Interfaces
{ {
[TypeExtensionPoint(Path = "/OpenSim/RegionModules", NodeName="RegionModule")]
public interface IRegionModuleBase public interface IRegionModuleBase
{ {
/// <value> /// <value>

View File

@ -33,8 +33,11 @@ using OpenSim.Framework;
using OpenMetaverse; using OpenMetaverse;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using Mono.Addins;
namespace OpenSim.Region.Framework.Interfaces namespace OpenSim.Region.Framework.Interfaces
{ {
[TypeExtensionPoint(Path = "/OpenSim/WindModule", NodeName = "WindModel")]
public interface IWindModelPlugin : IPlugin public interface IWindModelPlugin : IPlugin
{ {
/// <summary> /// <summary>

View File

@ -1,6 +1,7 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Mono.Addins;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
@ -22,6 +23,7 @@ using System.Runtime.InteropServices;
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d25e7aed-7f55-4bb8-9970-0d7d978ea8a5")] [assembly: Guid("d25e7aed-7f55-4bb8-9970-0d7d978ea8a5")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
// Major Version // Major Version
@ -30,4 +32,5 @@ using System.Runtime.InteropServices;
// Revision // Revision
// //
[assembly: AssemblyVersion("0.8.1.*")] [assembly: AssemblyVersion("0.8.1.*")]
[assembly: AddinRoot("OpenSim.Region.Framework", "0.8.1")]

View File

@ -34,4 +34,4 @@ using Mono.Addins;
[assembly: Addin("OpenSim.Region.OptionalModules", "0.1")] [assembly: Addin("OpenSim.Region.OptionalModules", "0.1")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]

View File

@ -51,7 +51,7 @@ using OSD = OpenMetaverse.StructuredData.OSD;
using OSDMap = OpenMetaverse.StructuredData.OSDMap; using OSDMap = OpenMetaverse.StructuredData.OSDMap;
[assembly: Addin("WebStats", "1.0")] [assembly: Addin("WebStats", "1.0")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]
namespace OpenSim.Region.UserStatistics namespace OpenSim.Region.UserStatistics
{ {

View File

@ -40,7 +40,7 @@ using OpenMetaverse;
using OpenMetaverse.StructuredData; using OpenMetaverse.StructuredData;
[assembly: Addin("SimianGrid", "1.0")] [assembly: Addin("SimianGrid", "1.0")]
[assembly: AddinDependency("OpenSim", "0.8.1")] [assembly: AddinDependency("OpenSim.Region.Framework", "0.8.1")]
namespace OpenSim.Services.Connectors.SimianGrid namespace OpenSim.Services.Connectors.SimianGrid
{ {

View File

@ -1,20 +0,0 @@
<Addin id="OpenSim" isroot="true" version="0.8.1">
<Runtime>
<Import assembly="OpenSim.exe"/>
<Import assembly="OpenSim.Framework.dll"/>
<Import assembly="OpenSim.Region.Framework.dll"/>
<Import assembly="Mono.Addins.dll"/>
</Runtime>
<ExtensionPoint path="/OpenSim/Startup">
<ExtensionNode name="Plugin" type="OpenSim.Framework.PluginExtensionNode" objectType="OpenSim.IApplicationPlugin"/>
</ExtensionPoint>
<ExtensionPoint path="/OpenSim/WindModule" name="Wind Module Plugins for wind models">
<ExtensionNode name="WindModel" type="Mono.Addins.TypeExtensionNode" objectType="OpenSim.Region.Framework.Interfaces.IWindModelPlugin"/>
</ExtensionPoint>
<ExtensionPoint path="/OpenSim/RegionModules">
<ExtensionNode name="RegionModule" type="Mono.Addins.TypeExtensionNode" objectType="OpenSim.Region.Framework.Interfaces.IRegionModuleBase"/>
</ExtensionPoint>
</Addin>