Rename wasm dlls to bins
This is to help them get through corporate networks. Fixes #92
This commit is contained in:
parent
3c6c1ecf66
commit
a04b511461
|
@ -18,6 +18,8 @@ namespace Ooui.Wasm.Build.Tasks
|
|||
{
|
||||
const string SdkUrl = "https://xamjenkinsartifact.azureedge.net/test-mono-mainline-webassembly/108/highsierra/sdks/wasm/mono-wasm-a14f41ca260.zip";
|
||||
|
||||
const string AssemblyExtension = ".bin";
|
||||
|
||||
[Required]
|
||||
public string Assembly { get; set; }
|
||||
[Required]
|
||||
|
@ -33,8 +35,10 @@ namespace Ooui.Wasm.Build.Tasks
|
|||
InstallSdk ();
|
||||
GetBcl ();
|
||||
CreateDist ();
|
||||
DeleteOldAssemblies ();
|
||||
CopyRuntime ();
|
||||
LinkAssemblies ();
|
||||
RenameAssemblies ();
|
||||
ExtractClientJs ();
|
||||
DiscoverEntryPoint ();
|
||||
GenerateHtml ();
|
||||
|
@ -98,6 +102,16 @@ namespace Ooui.Wasm.Build.Tasks
|
|||
Directory.CreateDirectory (managedPath);
|
||||
}
|
||||
|
||||
void DeleteOldAssemblies ()
|
||||
{
|
||||
foreach (var dll in Directory.GetFiles (managedPath, "*.dll")) {
|
||||
File.Delete (dll);
|
||||
}
|
||||
foreach (var dll in Directory.GetFiles (managedPath, "*" + AssemblyExtension)) {
|
||||
File.Delete (dll);
|
||||
}
|
||||
}
|
||||
|
||||
void CopyRuntime ()
|
||||
{
|
||||
var rtPath = Path.Combine (sdkPath, "release");
|
||||
|
@ -154,10 +168,7 @@ namespace Ooui.Wasm.Build.Tasks
|
|||
}
|
||||
|
||||
pipeline.AddStepAfter (typeof (LoadReferencesStep), new LoadI18nAssemblies (I18nAssemblies.None));
|
||||
|
||||
foreach (var dll in Directory.GetFiles (managedPath, "*.dll")) {
|
||||
File.Delete (dll);
|
||||
}
|
||||
DeleteOldAssemblies ();
|
||||
pipeline.Process (context);
|
||||
}
|
||||
|
||||
|
@ -318,6 +329,16 @@ namespace Ooui.Wasm.Build.Tasks
|
|||
}
|
||||
}
|
||||
|
||||
void RenameAssemblies ()
|
||||
{
|
||||
for (int i = 0; i < linkedAsmPaths.Count; i++) {
|
||||
var path = linkedAsmPaths[i];
|
||||
var newPath = Path.ChangeExtension(path, AssemblyExtension);
|
||||
File.Move (path, newPath);
|
||||
linkedAsmPaths[i] = newPath;
|
||||
}
|
||||
}
|
||||
|
||||
void ExtractClientJs ()
|
||||
{
|
||||
var oouiPath = refpaths.FirstOrDefault (x => Path.GetFileName (x).Equals ("Ooui.dll", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
|
|
@ -335,10 +335,12 @@ var Module = {
|
|||
Module.FS_createPath ("/", "managed", true, true);
|
||||
|
||||
var pending = 0;
|
||||
this.assemblies.forEach (function(asm_name) {
|
||||
var mangled_ext_re = new RegExp("\\.bin$");
|
||||
this.assemblies.forEach (function(asm_mangled_name) {
|
||||
var asm_name = asm_mangled_name.replace (mangled_ext_re, ".dll");
|
||||
if (debug) console.log ("Loading", asm_name);
|
||||
++pending;
|
||||
fetch ("managed/" + asm_name, { credentials: 'same-origin' }).then (function (response) {
|
||||
fetch ("managed/" + asm_mangled_name, { credentials: 'same-origin' }).then (function (response) {
|
||||
if (!response.ok)
|
||||
throw "failed to load Assembly '" + asm_name + "'";
|
||||
return response['arrayBuffer']();
|
||||
|
|
Loading…
Reference in New Issue