making progress on MCL linker and compiler, still many bugs

This commit is contained in:
Michael Becker 2024-08-27 00:33:19 -04:00
parent 83f9322b7a
commit e12de2fc7f
6 changed files with 24 additions and 5 deletions

@ -1 +1 @@
Subproject commit 57b16fc34e40d636778167d1fc30014e4994531a
Subproject commit fe6562e020e9e4af79dd0659b7ffb56209088181

View File

@ -23,6 +23,7 @@
<ProjectReference Include="..\..\..\..\framework-dotnet\framework-dotnet\src\lib\MBS.Core\MBS.Core.csproj" />
<ProjectReference Include="..\..\..\..\web-framework-dotnet\src\lib\MBS.Web\MBS.Web.csproj" />
<ProjectReference Include="..\..\lib\Mocha.Core\Mocha.Core.csproj" />
<ProjectReference Include="..\..\plugins\Mocha.Plugins.Libraries.McxMini\Mocha.Plugins.Libraries.McxMini.csproj" />
</ItemGroup>
<PropertyGroup>

View File

@ -35,6 +35,8 @@ public class Program : MochaWebApplication
ShortName = "mocha-server";
}
private LibraryHandle l_System, l_Web;
private void oms_TenantCreated(object? sender, OmsTenantCreatedEventArgs e)
{
if (sender == null)
@ -43,8 +45,12 @@ public class Program : MochaWebApplication
Oms oms = (Oms)sender;
oms.SelectTenant(e.Tenant);
oms.LoadLibrary("/home/beckermj/Documents/Projects/mochapowered/mocha-suv/mocha-common/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System");
oms.AddLibraryReference(oms.GetLibrary("Mocha.System"));
// oms.LoadLibrary("/home/beckermj/Documents/Projects/mochapowered/mocha-suv/mocha-common/mocha-common/data/libraries/yaml/net.alcetech.Mocha.System");
oms.AddLibraryReference(l_System);
if (l_Web != LibraryHandle.Empty)
{
oms.AddLibraryReference(l_Web);
}
}
protected override Oms CreateOms()
@ -56,7 +62,16 @@ public class Program : MochaWebApplication
PJPATH += "/../../../../../../../";
// "/home/beckermj/Documents/Projects/mochapowered/mocha-dotnet";
LibraryHandle l_System = oms.LoadLibrary(PJPATH + "mocha-common/mocha-common/output/net.alcetech.Mocha.System.mcl");
l_System = oms.LoadLibrary(PJPATH + "mocha-common/mocha-common/output/net.alcetech.Mocha.System.mcl");
try
{
l_Web = oms.LoadLibrary(PJPATH + "mocha-common/mocha-common/output/net.alcetech.Mocha.Web.mcl");
}
catch (FileNotFoundException ex)
{
Console.WriteLine("could not load net.alcetech.Mocha.Web library; routes and other Web elements may not be available");
}
oms.TenantCreated += oms_TenantCreated;

View File

@ -280,7 +280,6 @@ namespace Mocha.Core
}
public static class SystemInstanceSetRoutines
{
public static Guid GetRuntimeVersion { get; } = new Guid("{dc4e6c8d-936d-457f-90e9-af47e229b80c}");
// public static Guid SystemInstanceSetRoutine { get; } = new Guid("{d17a6d27-da03-4b5d-9256-f67f978f403d}");
public static Guid GetCurrentUser { get; } = new Guid("{9ee8edda-aa1b-4766-8c31-1331be5ffb41}");
}

View File

@ -1150,6 +1150,9 @@ public abstract class Oms
// get a list of all library loaders we have implemented
LibraryPlugin[] plugins = Plugin.Get<LibraryPlugin>();
if (plugins.Length == 0)
throw new InvalidOperationException("no plugins available to load library");
foreach (LibraryPlugin plugin in plugins)
{
Console.WriteLine("found plugin: {0}", plugin.GetType().FullName);

View File

@ -53,6 +53,7 @@ public class CommonTests : MethodTestsBase
//*** Wow, this actually works!!! ***//
// ... but I wonder how long it would actually take to sift through 1000s of methods...
Method m = Oms.GetMethod(c_OMS, "get", "Runtime Version");
Assert.That(m, Is.Not.Null, "OMS does not define method `OMS@get Runtime Version (GAS)*P`");
OmsContext context = Oms.CreateContext();
InstanceHandle workData = Oms.Execute(context, m);