aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorBlueWall2010-09-25 16:22:18 -0400
committerMelanie2010-09-26 02:30:46 +0100
commit4f25b73b572e458a3e98614fc5694286e5e3fb92 (patch)
tree848a886d6cf75ae09b549ea3400073e60de83c73 /OpenSim/Region/ScriptEngine/Shared
parentPrevent spoofing the agent name on text IM (diff)
downloadopensim-SC-4f25b73b572e458a3e98614fc5694286e5e3fb92.zip
opensim-SC-4f25b73b572e458a3e98614fc5694286e5e3fb92.tar.gz
opensim-SC-4f25b73b572e458a3e98614fc5694286e5e3fb92.tar.bz2
opensim-SC-4f25b73b572e458a3e98614fc5694286e5e3fb92.tar.xz
Add configurable path to script engine assemblies
Adding ability to place script engine assemblies outside the codebase directories. Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies" Signed-off-by: Melanie <melanie@t-data.com>
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs5
2 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs b/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs
index ade1924..130e197 100644
--- a/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/AssemblyResolver.cs
@@ -32,7 +32,7 @@ using System.Reflection;
32namespace OpenSim.Region.ScriptEngine.Shared 32namespace OpenSim.Region.ScriptEngine.Shared
33{ 33{
34 [Serializable] 34 [Serializable]
35 public class AssemblyResolver 35 public class AssemblyResolver : MarshalByRefObject
36 { 36 {
37 public static Assembly OnAssemblyResolve(object sender, 37 public static Assembly OnAssemblyResolve(object sender,
38 ResolveEventArgs args) 38 ResolveEventArgs args)
@@ -42,9 +42,10 @@ namespace OpenSim.Region.ScriptEngine.Shared
42 42
43 AppDomain myDomain = (AppDomain)sender; 43 AppDomain myDomain = (AppDomain)sender;
44 string dirName = myDomain.FriendlyName; 44 string dirName = myDomain.FriendlyName;
45 string ScriptEnginesPath = myDomain.SetupInformation.PrivateBinPath;
45 46
46 string[] pathList = new string[] {"bin", "ScriptEngines", 47 string[] pathList = new string[] {"bin", ScriptEnginesPath,
47 Path.Combine("ScriptEngines", dirName)}; 48 Path.Combine(ScriptEnginesPath, dirName)};
48 49
49 string assemblyName = args.Name; 50 string assemblyName = args.Name;
50 if (assemblyName.IndexOf(",") != -1) 51 if (assemblyName.IndexOf(",") != -1)
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
index cd8c67e..49d6abe 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
@@ -72,7 +72,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
72 private Dictionary<string, enumCompileType> LanguageMapping = new Dictionary<string, enumCompileType>(StringComparer.CurrentCultureIgnoreCase); 72 private Dictionary<string, enumCompileType> LanguageMapping = new Dictionary<string, enumCompileType>(StringComparer.CurrentCultureIgnoreCase);
73 73
74 private string FilePrefix; 74 private string FilePrefix;
75 private string ScriptEnginesPath = "ScriptEngines"; 75 private string ScriptEnginesPath = null;
76 // mapping between LSL and C# line/column numbers 76 // mapping between LSL and C# line/column numbers
77 private ICodeConverter LSL_Converter; 77 private ICodeConverter LSL_Converter;
78 78
@@ -95,7 +95,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
95 95
96 public Compiler(IScriptEngine scriptEngine) 96 public Compiler(IScriptEngine scriptEngine)
97 { 97 {
98 m_scriptEngine = scriptEngine; 98 m_scriptEngine = scriptEngine;;
99 ScriptEnginesPath = scriptEngine.ScriptEnginePath;
99 ReadConfig(); 100 ReadConfig();
100 } 101 }
101 102