From e25b89ff6a36cb1f1576b6583079b353ff3dc931 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Thu, 3 Oct 2019 22:30:58 +0200 Subject: [PATCH 01/12] Update to .NET Core 3.0 --- .travis.yml | 2 +- ElectronNET.API/ElectronNET.API.csproj | 14 +++++++++----- ElectronNET.API/PackageIcon.png | Bin 0 -> 39446 bytes ElectronNET.CLI/ElectronNET.CLI.csproj | 10 +++++++--- ElectronNET.CLI/PackageIcon.png | Bin 0 -> 39446 bytes .../Controllers/TrayController.cs | 4 ++-- .../ElectronHostHook/excelCreator.js | 3 ++- .../ElectronHostHook/excelCreator.js.map | 2 +- ElectronNET.WebApp/ElectronHostHook/index.js | 3 ++- .../ElectronHostHook/index.js.map | 2 +- ElectronNET.WebApp/ElectronNET.WebApp.csproj | 12 +++++------- ElectronNET.WebApp/Program.cs | 2 ++ ElectronNET.WebApp/Startup.cs | 17 +++++++---------- appveyor.yml | 2 +- 14 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 ElectronNET.API/PackageIcon.png create mode 100644 ElectronNET.CLI/PackageIcon.png diff --git a/.travis.yml b/.travis.yml index 859739a0..cdaa7eac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: csharp mono: none dist: xenial -dotnet: 2.2 +dotnet: 3.0 before_script: - export PATH="$PATH:/home/travis/.dotnet/tools" - npm install electron-packager --global diff --git a/ElectronNET.API/ElectronNET.API.csproj b/ElectronNET.API/ElectronNET.API.csproj index 0da26620..ffdea362 100644 --- a/ElectronNET.API/ElectronNET.API.csproj +++ b/ElectronNET.API/ElectronNET.API.csproj @@ -1,7 +1,7 @@  - netcoreapp2.2 + netcoreapp3.0 true ..\artifacts ElectronNET.API @@ -17,7 +17,7 @@ This package contains the API to access the "native" electron API. true electron aspnetcore Changelog: https://github.com/ElectronNET/Electron.NET/blob/master/Changelog.md - https://raw.githubusercontent.com/ElectronNET/Electron.NET/master/assets/images/electron.net-logo-square.png + PackageIcon.png 1.0.0.0 @@ -26,14 +26,18 @@ This package contains the API to access the "native" electron API. - bin\Release\netcoreapp2.0\ElectronNET.API.xml + bin\Release\netcoreapp3.0\ElectronNET.API.xml - bin\Debug\netcoreapp2.0\ElectronNET.API.xml + bin\Debug\netcoreapp3.0\ElectronNET.API.xml true + + + + @@ -41,7 +45,7 @@ This package contains the API to access the "native" electron API. - + all runtime; build; native; contentfiles; analyzers diff --git a/ElectronNET.API/PackageIcon.png b/ElectronNET.API/PackageIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..10d55ebe2477afb3d51044c5b642303942e31c1d GIT binary patch literal 39446 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 literal 0 HcmV?d00001 diff --git a/ElectronNET.CLI/ElectronNET.CLI.csproj b/ElectronNET.CLI/ElectronNET.CLI.csproj index 6bb13308..d468d5b4 100644 --- a/ElectronNET.CLI/ElectronNET.CLI.csproj +++ b/ElectronNET.CLI/ElectronNET.CLI.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.2 + netcoreapp3.0 electronize DotnetCliTool @@ -22,7 +22,7 @@ This package contains the dotnet tooling to electronize your application.true electron aspnetcore Changelog: https://github.com/ElectronNET/Electron.NET/blob/master/Changelog.md - https://raw.githubusercontent.com/ElectronNET/Electron.NET/master/assets/images/electron.net-logo-square.png + PackageIcon.png true @@ -38,7 +38,11 @@ This package contains the dotnet tooling to electronize your application. - + + + + + diff --git a/ElectronNET.CLI/PackageIcon.png b/ElectronNET.CLI/PackageIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..10d55ebe2477afb3d51044c5b642303942e31c1d GIT binary patch literal 39446 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 literal 0 HcmV?d00001 diff --git a/ElectronNET.WebApp/Controllers/TrayController.cs b/ElectronNET.WebApp/Controllers/TrayController.cs index c57e5716..115858a3 100644 --- a/ElectronNET.WebApp/Controllers/TrayController.cs +++ b/ElectronNET.WebApp/Controllers/TrayController.cs @@ -8,9 +8,9 @@ namespace ElectronNET.WebApp.Controllers { public class TrayController : Controller { - private readonly IHostingEnvironment _env; + private readonly IWebHostEnvironment _env; - public TrayController(IHostingEnvironment env) + public TrayController(IWebHostEnvironment env) { _env = env; } diff --git a/ElectronNET.WebApp/ElectronHostHook/excelCreator.js b/ElectronNET.WebApp/ElectronHostHook/excelCreator.js index 30e51ef7..bab2f867 100644 --- a/ElectronNET.WebApp/ElectronHostHook/excelCreator.js +++ b/ElectronNET.WebApp/ElectronHostHook/excelCreator.js @@ -1,9 +1,10 @@ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; diff --git a/ElectronNET.WebApp/ElectronHostHook/excelCreator.js.map b/ElectronNET.WebApp/ElectronHostHook/excelCreator.js.map index 3b51186f..b75f85d4 100644 --- a/ElectronNET.WebApp/ElectronHostHook/excelCreator.js.map +++ b/ElectronNET.WebApp/ElectronHostHook/excelCreator.js.map @@ -1 +1 @@ -{"version":3,"file":"excelCreator.js","sourceRoot":"","sources":["excelCreator.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iCAAiC;AAGjC,MAAa,YAAY;IACf,MAAM,CAAC,IAAY;;YACrB,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,SAAS,GAAc,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC/D,SAAS,CAAC,OAAO,GAAG;gBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;aACtE,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9E,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC;YAEtD,OAAO,qBAAqB,CAAC;QACjC,CAAC;KAAA;CACJ;AAhBD,oCAgBC"} \ No newline at end of file +{"version":3,"file":"excelCreator.js","sourceRoot":"","sources":["excelCreator.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAAiC;AAGjC,MAAa,YAAY;IACf,MAAM,CAAC,IAAY;;YACrB,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,SAAS,GAAc,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC/D,SAAS,CAAC,OAAO,GAAG;gBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;aACtE,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9E,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC;YAEtD,OAAO,qBAAqB,CAAC;QACjC,CAAC;KAAA;CACJ;AAhBD,oCAgBC"} \ No newline at end of file diff --git a/ElectronNET.WebApp/ElectronHostHook/index.js b/ElectronNET.WebApp/ElectronHostHook/index.js index e919fc9e..b6ea7139 100644 --- a/ElectronNET.WebApp/ElectronHostHook/index.js +++ b/ElectronNET.WebApp/ElectronHostHook/index.js @@ -1,9 +1,10 @@ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; diff --git a/ElectronNET.WebApp/ElectronHostHook/index.js.map b/ElectronNET.WebApp/ElectronHostHook/index.js.map index d95024d6..258351d0 100644 --- a/ElectronNET.WebApp/ElectronHostHook/index.js.map +++ b/ElectronNET.WebApp/ElectronHostHook/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,2CAAwC;AACxC,iDAA8C;AAE9C,MAAa,WAAY,SAAQ,qBAAS;IACtC,YAAY,MAAuB,EAAS,GAAiB;QACzD,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QADqB,QAAG,GAAH,GAAG,CAAc;IAE7D,CAAC;IAED,WAAW;QACP,8CAA8C;QAC9C,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAO,IAAI,EAAE,IAAI,EAAE,EAAE;YAC9C,MAAM,YAAY,GAAiB,IAAI,2BAAY,EAAE,CAAC;YACtD,MAAM,MAAM,GAAW,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,kCAcC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,2CAAwC;AACxC,iDAA8C;AAE9C,MAAa,WAAY,SAAQ,qBAAS;IACtC,YAAY,MAAuB,EAAS,GAAiB;QACzD,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QADqB,QAAG,GAAH,GAAG,CAAc;IAE7D,CAAC;IAED,WAAW;QACP,8CAA8C;QAC9C,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAO,IAAI,EAAE,IAAI,EAAE,EAAE;YAC9C,MAAM,YAAY,GAAiB,IAAI,2BAAY,EAAE,CAAC;YACtD,MAAM,MAAM,GAAW,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAA,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,kCAcC"} \ No newline at end of file diff --git a/ElectronNET.WebApp/ElectronNET.WebApp.csproj b/ElectronNET.WebApp/ElectronNET.WebApp.csproj index 84651a2a..09fa59e8 100644 --- a/ElectronNET.WebApp/ElectronNET.WebApp.csproj +++ b/ElectronNET.WebApp/ElectronNET.WebApp.csproj @@ -1,8 +1,10 @@  - netcoreapp2.2 + netcoreapp3.0 + OutOfProcess + AspNetCoreModule win-x64 - 3.1 + 3.6 @@ -14,11 +16,7 @@ - - - - - + diff --git a/ElectronNET.WebApp/Program.cs b/ElectronNET.WebApp/Program.cs index 42ca51b7..5f1de9a5 100644 --- a/ElectronNET.WebApp/Program.cs +++ b/ElectronNET.WebApp/Program.cs @@ -1,6 +1,7 @@ using ElectronNET.API; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Logging; namespace ElectronNET.WebApp { @@ -14,6 +15,7 @@ public static void Main(string[] args) public static IWebHost BuildWebHost(string[] args) { return WebHost.CreateDefaultBuilder(args) + .ConfigureLogging((hostingContext, logging) => { logging.AddConsole(); }) .UseElectron(args) .UseStartup() .Build(); diff --git a/ElectronNET.WebApp/Startup.cs b/ElectronNET.WebApp/Startup.cs index c0dee4f0..863b7b64 100644 --- a/ElectronNET.WebApp/Startup.cs +++ b/ElectronNET.WebApp/Startup.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Hosting; namespace ElectronNET.WebApp { @@ -25,10 +26,8 @@ public void ConfigureServices(IServiceCollection services) } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { - loggerFactory.AddConsole(); - if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); @@ -36,16 +35,14 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerF app.UseStaticFiles(); - app.UseMvc(routes => + app.UseRouting(); + + app.UseEndpoints(endpoints => { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); + endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); }); - - - if(HybridSupport.IsElectronActive) + if (HybridSupport.IsElectronActive) { ElectronBootstrap(); } diff --git a/appveyor.yml b/appveyor.yml index 5cb70099..62d46748 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,5 +1,5 @@ version: 1.0.{build} -image: Visual Studio 2017 +image: Visual Studio 2019 build_script: - cmd: buildAll.cmd pull_requests: From b3bb3ceb978b03ff6b0eac7ec6c383f8d46a7d65 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Thu, 3 Oct 2019 23:07:17 +0200 Subject: [PATCH 02/12] fix build issues --- ElectronNET.CLI/Commands/BuildCommand.cs | 5 +++-- buildAll.cmd | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index ac3019c4..2bbdc6c0 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -108,16 +108,16 @@ public Task ExecuteAsync() Console.WriteLine("Start npm install electron-builder..."); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { // Works proper on Windows... ProcessHelper.CmdExecute("npm install electron-builder --global", tempPath); + } else { // ToDo: find another solution or document it proper // GH Issue https://github.com/electron-userland/electron-prebuilt/issues/48 - Console.WriteLine("Electron Builder - make sure you invoke 'sudo npm install electron-builder --global' at " + tempPath + " manually. Sry."); + Console.WriteLine("Electron Builder - make sure you invoke 'sudo npm install electron-builder --global' & 'sudo npm install typescript --global' at " + tempPath + " manually. Sry."); } Console.WriteLine("ElectronHostHook handling started..."); @@ -130,6 +130,7 @@ public Task ExecuteAsync() DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); Console.WriteLine("Start npm install for hosthooks..."); + ProcessHelper.CmdExecute("npm install typescript --global", tempPath); ProcessHelper.CmdExecute("npm install --production", hosthookDir); // ToDo: Global TypeScript installation is needed for ElectronHostHook diff --git a/buildAll.cmd b/buildAll.cmd index b546cab8..b42a8076 100755 --- a/buildAll.cmd +++ b/buildAll.cmd @@ -22,7 +22,7 @@ dotnet tool uninstall ElectronNET.CLI -g dotnet tool install ElectronNET.CLI -g echo "/target xxx (dev-build)" -electronize build /target custom win7-x86;win32 /dotnet-configuration Debug /electron-arch ia32 /electron-params "--prune=true " +electronize build /target custom win7-x86;win /dotnet-configuration Debug /electron-arch ia32 /electron-params " " echo "/target win (dev-build)" electronize build /target win @@ -30,8 +30,8 @@ electronize build /target win echo "/target linux (dev-build)" electronize build /target linux -echo "/target custom win7-x86;win32 (dev-build)" -electronize build /target custom win7-x86;win32 +echo "/target custom win7-x86;win (dev-build)" +electronize build /target custom win7-x86;win :: Be aware, that for non-electronnet-dev environments the correct From 5cd11a8110160df97bd0c1b74b43477e324eedba Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Thu, 3 Oct 2019 23:36:21 +0200 Subject: [PATCH 03/12] build --- ElectronNET.API/ElectronNET.API.csproj | 2 +- ElectronNET.CLI/Commands/BuildCommand.cs | 5 ++--- ElectronNET.CLI/Commands/StartElectronCommand.cs | 3 ++- ElectronNET.CLI/ElectronNET.CLI.csproj | 3 ++- buildAll.cmd | 8 ++++---- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ElectronNET.API/ElectronNET.API.csproj b/ElectronNET.API/ElectronNET.API.csproj index ffdea362..4a33f6a0 100644 --- a/ElectronNET.API/ElectronNET.API.csproj +++ b/ElectronNET.API/ElectronNET.API.csproj @@ -18,7 +18,7 @@ This package contains the API to access the "native" electron API. electron aspnetcore Changelog: https://github.com/ElectronNET/Electron.NET/blob/master/Changelog.md PackageIcon.png - 1.0.0.0 + 99.0.0.0 diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index 2bbdc6c0..d9eb03a4 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -111,7 +111,6 @@ public Task ExecuteAsync() { // Works proper on Windows... ProcessHelper.CmdExecute("npm install electron-builder --global", tempPath); - } else { @@ -129,8 +128,8 @@ public Task ExecuteAsync() string hosthookDir = Path.Combine(tempPath, "ElectronHostHook"); DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); - Console.WriteLine("Start npm install for hosthooks..."); - ProcessHelper.CmdExecute("npm install typescript --global", tempPath); + Console.WriteLine("Start npm install for typescript & hosthooks..."); + ProcessHelper.CmdExecute("npm install -g typescript", hosthookDir); ProcessHelper.CmdExecute("npm install --production", hosthookDir); // ToDo: Global TypeScript installation is needed for ElectronHostHook diff --git a/ElectronNET.CLI/Commands/StartElectronCommand.cs b/ElectronNET.CLI/Commands/StartElectronCommand.cs index ee661f2f..432ffb15 100644 --- a/ElectronNET.CLI/Commands/StartElectronCommand.cs +++ b/ElectronNET.CLI/Commands/StartElectronCommand.cs @@ -76,7 +76,8 @@ public Task ExecuteAsync() string hosthookDir = Path.Combine(tempPath, "ElectronHostHook"); DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); - Console.WriteLine("Start npm install for hosthooks..."); + Console.WriteLine("Start npm install for typescript & hosthooks..."); + ProcessHelper.CmdExecute("npm install -g typescript", hosthookDir); ProcessHelper.CmdExecute("npm install", hosthookDir); string tscPath = Path.Combine(tempPath, "node_modules", ".bin"); diff --git a/ElectronNET.CLI/ElectronNET.CLI.csproj b/ElectronNET.CLI/ElectronNET.CLI.csproj index d468d5b4..6258c6a1 100644 --- a/ElectronNET.CLI/ElectronNET.CLI.csproj +++ b/ElectronNET.CLI/ElectronNET.CLI.csproj @@ -9,7 +9,8 @@ true ..\artifacts ElectronNET.CLI - 1.0.0.0 + + 99.0.0.0 Gregor Biswanger, Robert Muehsig Electron.NET diff --git a/buildAll.cmd b/buildAll.cmd index b42a8076..04a78394 100755 --- a/buildAll.cmd +++ b/buildAll.cmd @@ -22,16 +22,16 @@ dotnet tool uninstall ElectronNET.CLI -g dotnet tool install ElectronNET.CLI -g echo "/target xxx (dev-build)" -electronize build /target custom win7-x86;win /dotnet-configuration Debug /electron-arch ia32 /electron-params " " +electronize build /target custom win7-x86;win /dotnet-configuration Debug /electron-arch ia32 /electron-params "--publish never" echo "/target win (dev-build)" -electronize build /target win +electronize build /target win /electron-params "--publish never" echo "/target linux (dev-build)" -electronize build /target linux +electronize build /target linux /electron-params "--publish never" echo "/target custom win7-x86;win (dev-build)" -electronize build /target custom win7-x86;win +electronize build /target custom win7-x86;win /electron-params "--publish never" :: Be aware, that for non-electronnet-dev environments the correct From f1eaffb2031c62828651e0bbc80aa3aa60ca4dc0 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Mon, 7 Oct 2019 22:48:49 +0200 Subject: [PATCH 04/12] update github sourcelink and framework reference --- ElectronNET.API/ElectronNET.API.csproj | 8 +++++--- ElectronNET.CLI/ElectronNET.CLI.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ElectronNET.API/ElectronNET.API.csproj b/ElectronNET.API/ElectronNET.API.csproj index 4a33f6a0..0fa7fddd 100644 --- a/ElectronNET.API/ElectronNET.API.csproj +++ b/ElectronNET.API/ElectronNET.API.csproj @@ -35,7 +35,7 @@ This package contains the API to access the "native" electron API. - + @@ -45,8 +45,10 @@ This package contains the API to access the "native" electron API. - - + + + + all runtime; build; native; contentfiles; analyzers diff --git a/ElectronNET.CLI/ElectronNET.CLI.csproj b/ElectronNET.CLI/ElectronNET.CLI.csproj index 6258c6a1..2132de6f 100644 --- a/ElectronNET.CLI/ElectronNET.CLI.csproj +++ b/ElectronNET.CLI/ElectronNET.CLI.csproj @@ -101,7 +101,7 @@ This package contains the dotnet tooling to electronize your application. - + all runtime; build; native; contentfiles; analyzers From 25f35e34fef8392d43e6d176f927fa1c174b781f Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Mon, 7 Oct 2019 22:53:50 +0200 Subject: [PATCH 05/12] global npm outside of build commands --- ElectronNET.CLI/Commands/BuildCommand.cs | 20 +------------------- buildAll.cmd | 5 +++++ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index d9eb03a4..7f89e452 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -105,20 +105,6 @@ public Task ExecuteAsync() Console.WriteLine("Start npm install..."); ProcessHelper.CmdExecute("npm install --production", tempPath); - Console.WriteLine("Start npm install electron-builder..."); - - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - // Works proper on Windows... - ProcessHelper.CmdExecute("npm install electron-builder --global", tempPath); - } - else - { - // ToDo: find another solution or document it proper - // GH Issue https://github.com/electron-userland/electron-prebuilt/issues/48 - Console.WriteLine("Electron Builder - make sure you invoke 'sudo npm install electron-builder --global' & 'sudo npm install typescript --global' at " + tempPath + " manually. Sry."); - } - Console.WriteLine("ElectronHostHook handling started..."); string electronhosthookDir = Path.Combine(Directory.GetCurrentDirectory(), "ElectronHostHook"); @@ -128,13 +114,9 @@ public Task ExecuteAsync() string hosthookDir = Path.Combine(tempPath, "ElectronHostHook"); DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); - Console.WriteLine("Start npm install for typescript & hosthooks..."); - ProcessHelper.CmdExecute("npm install -g typescript", hosthookDir); + Console.WriteLine("Start npm install for hosthooks..."); ProcessHelper.CmdExecute("npm install --production", hosthookDir); - // ToDo: Global TypeScript installation is needed for ElectronHostHook - //string tscPath = Path.Combine(tempPath, "node_modules", ".bin"); - // ToDo: Not sure if this runs under linux/macos ProcessHelper.CmdExecute(@"tsc -p . --sourceMap false", hosthookDir); } diff --git a/buildAll.cmd b/buildAll.cmd index 04a78394..536f5693 100755 --- a/buildAll.cmd +++ b/buildAll.cmd @@ -1,4 +1,9 @@ echo "Start building Electron.NET dev stack..." + +echo "Install NPM dependencies: Typescript and Bundler" +npm install typescript --global +npm install electron-builder --global + echo "Restore & Build API" cd ElectronNet.API dotnet restore From 8dd5d1561ac8bd8f1de0907312406d0dd0227292 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Mon, 7 Oct 2019 23:16:08 +0200 Subject: [PATCH 06/12] test --- appveyor.yml | 2 ++ buildAll.cmd | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 62d46748..33f8eb93 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,8 @@ version: 1.0.{build} image: Visual Studio 2019 build_script: +- cmd: npm install typescript --global +- cmd: npm install electron-builder --global - cmd: buildAll.cmd pull_requests: do_not_increment_build_number: true diff --git a/buildAll.cmd b/buildAll.cmd index 536f5693..a9811337 100755 --- a/buildAll.cmd +++ b/buildAll.cmd @@ -1,9 +1,5 @@ echo "Start building Electron.NET dev stack..." -echo "Install NPM dependencies: Typescript and Bundler" -npm install typescript --global -npm install electron-builder --global - echo "Restore & Build API" cd ElectronNet.API dotnet restore From b7e7ace6f360e4c670cfc950f92e31b58873e8ca Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Mon, 14 Oct 2019 22:44:30 +0200 Subject: [PATCH 07/12] fix build issues on windows --- ElectronNET.CLI/Commands/BuildCommand.cs | 2 +- buildAll.cmd | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index 7f89e452..a4d54167 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -115,7 +115,7 @@ public Task ExecuteAsync() DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); Console.WriteLine("Start npm install for hosthooks..."); - ProcessHelper.CmdExecute("npm install --production", hosthookDir); + ProcessHelper.CmdExecute("npm install", hosthookDir); // ToDo: Not sure if this runs under linux/macos ProcessHelper.CmdExecute(@"tsc -p . --sourceMap false", hosthookDir); diff --git a/buildAll.cmd b/buildAll.cmd index a9811337..67464208 100755 --- a/buildAll.cmd +++ b/buildAll.cmd @@ -28,9 +28,6 @@ electronize build /target custom win7-x86;win /dotnet-configuration Debug /elect echo "/target win (dev-build)" electronize build /target win /electron-params "--publish never" -echo "/target linux (dev-build)" -electronize build /target linux /electron-params "--publish never" - echo "/target custom win7-x86;win (dev-build)" electronize build /target custom win7-x86;win /electron-params "--publish never" @@ -41,3 +38,8 @@ electronize build /target custom win7-x86;win /electron-params "--publish never" :: Not supported on Windows Systems, because of SymLinks... :: echo "/target osx" :: dotnet electronize build /target osx + +:: Linux and Mac is not supported on with this buildAll.cmd test file, because the electron bundler does some strange stuff +:: Help welcome! +:: echo "/target linux (dev-build)" +:: electronize build /target linux /electron-params "--publish never" From 54ff11acf5f7c18cf5769b00b2733b4cf9bca580 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Tue, 15 Oct 2019 00:09:15 +0200 Subject: [PATCH 08/12] beta... --- buildReleaseNuGetPackages.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildReleaseNuGetPackages.cmd b/buildReleaseNuGetPackages.cmd index 5b2200d0..5413b382 100644 --- a/buildReleaseNuGetPackages.cmd +++ b/buildReleaseNuGetPackages.cmd @@ -1,4 +1,4 @@ -set ENETVER=5.22.14 +set ENETVER=5.30.14-beta echo "Start building Electron.NET dev stack..." echo "Restore & Build API" cd ElectronNet.API From 14d02706c0a20b62cefb2f6c3c7eb6725e1282f2 Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Tue, 15 Oct 2019 00:13:22 +0200 Subject: [PATCH 09/12] small changes for version stuff --- README.md | 2 +- buildReleaseNuGetPackages.cmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 61d3a6ef..34d02ff2 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ The end result should be an electron app under your __/bin/desktop__ folder. # Working with this Repo -This repository consists of the main parts (API & CLI) and it's own "playground" ASP.NET Core application. Both main parts produce local NuGet packages, that are versioned with 1.0.0. The first thing you will need is to run one of the buildAll scripts (.cmd for Windows, the other for macOS/Linux). +This repository consists of the main parts (API & CLI) and it's own "playground" ASP.NET Core application. Both main parts produce local NuGet packages, that are versioned with 99.0.0. The first thing you will need is to run one of the buildAll scripts (.cmd for Windows, the other for macOS/Linux). If you look for pure __[demo projects](https://github.com/ElectronNET)__ checkout the other repositories. diff --git a/buildReleaseNuGetPackages.cmd b/buildReleaseNuGetPackages.cmd index 5413b382..fd1a0bce 100644 --- a/buildReleaseNuGetPackages.cmd +++ b/buildReleaseNuGetPackages.cmd @@ -1,4 +1,4 @@ -set ENETVER=5.30.14-beta +set ENETVER=5.30.0-beta echo "Start building Electron.NET dev stack..." echo "Restore & Build API" cd ElectronNet.API From f64b780a2791a7ef89b31d95ad4607158f8920fc Mon Sep 17 00:00:00 2001 From: Robert Muehsig Date: Tue, 15 Oct 2019 00:21:36 +0200 Subject: [PATCH 10/12] documentation and one minor adjustment --- ElectronNET.CLI/Commands/StartElectronCommand.cs | 1 - README.md | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ElectronNET.CLI/Commands/StartElectronCommand.cs b/ElectronNET.CLI/Commands/StartElectronCommand.cs index 432ffb15..25835c2d 100644 --- a/ElectronNET.CLI/Commands/StartElectronCommand.cs +++ b/ElectronNET.CLI/Commands/StartElectronCommand.cs @@ -77,7 +77,6 @@ public Task ExecuteAsync() DirectoryCopy.Do(electronhosthookDir, hosthookDir, true, new List() { "node_modules" }); Console.WriteLine("Start npm install for typescript & hosthooks..."); - ProcessHelper.CmdExecute("npm install -g typescript", hosthookDir); ProcessHelper.CmdExecute("npm install", hosthookDir); string tscPath = Path.Combine(tempPath, "node_modules", ".bin"); diff --git a/README.md b/README.md index 34d02ff2..a905b07b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,13 @@ Well... there are lots of different approaches how to get a X-plat desktop app r # Requirements to run: -The current Electron.NET CLI builds Windows/macOS/Linux binaries. Our API uses .NET Core 2.2, so our minimum base OS is the same as [.NET Core 2.2](https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2-supported-os.md). +The current Electron.NET CLI builds Windows/macOS/Linux binaries. Our API uses .NET Core 3.0, so our minimum base OS is the same as [.NET Core 3.0](https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-supported-os.md). + +Also you should have installed: + +* npm +* npm install -g typescript +* npm install -g electron-builder # Community From aa98b85f18016c5e78e2ed1d69e4e89dbfbcd60f Mon Sep 17 00:00:00 2001 From: tadic-luka Date: Tue, 22 Oct 2019 10:48:55 +0200 Subject: [PATCH 11/12] Update README.md EnableEndpointRouting should be set to false. Otherwise people will get error: Application startup exception: System.InvalidOperationException: Endpoint Routing does not support 'IApplicationBuilder.UseMvc(...)'. To use 'IApplicationBuilder.UseMvc' set 'MvcOptions.EnableEndpointRouting = false' inside 'ConfigureServices(...). The solution is even proposed in stack trace. Issue was opened on https://github.com/aspnet/AspNetCore/issues/9542 and it is explained there what should be done. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a905b07b..f04b9a1b 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,11 @@ public static IWebHost BuildWebHost(string[] args) Open the Electron Window in the Startup.cs file: ```csharp +public void ConfigureServices(IServiceCollection services) +{ + services.AddMvc(option => option.EnableEndpointRouting = false); +} + public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) From b6fb1cb0bfaf2c2ef63278ffb97f72f4278991c3 Mon Sep 17 00:00:00 2001 From: Jim Buck Date: Tue, 22 Oct 2019 23:59:47 -0400 Subject: [PATCH 12/12] Converted global npm dependencies to use npx. --- .travis.yml | 1 - ElectronNET.CLI/Commands/AddCommand.cs | 3 +-- ElectronNET.CLI/Commands/BuildCommand.cs | 4 ++-- ElectronNET.CLI/Commands/StartElectronCommand.cs | 3 +-- README.md | 8 -------- appveyor.yml | 2 -- 6 files changed, 4 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index cdaa7eac..38db3cc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,5 @@ dist: xenial dotnet: 3.0 before_script: - export PATH="$PATH:/home/travis/.dotnet/tools" - - npm install electron-packager --global script: - ./buildAll.sh diff --git a/ElectronNET.CLI/Commands/AddCommand.cs b/ElectronNET.CLI/Commands/AddCommand.cs index 065850a7..8168d6dc 100644 --- a/ElectronNET.CLI/Commands/AddCommand.cs +++ b/ElectronNET.CLI/Commands/AddCommand.cs @@ -72,9 +72,8 @@ public Task ExecuteAsync() ProcessHelper.CmdExecute("npm install", targetFilePath); // run typescript compiler - string tscPath = Path.Combine(targetFilePath, "node_modules", ".bin"); // ToDo: Not sure if this runs under linux/macos - ProcessHelper.CmdExecute(@"tsc -p ../../", tscPath); + ProcessHelper.CmdExecute(@"npx tsc -p ../../", targetFilePath); // search .csproj Console.WriteLine($"Search your .csproj to add configure CopyToPublishDirectory to 'Never'"); diff --git a/ElectronNET.CLI/Commands/BuildCommand.cs b/ElectronNET.CLI/Commands/BuildCommand.cs index a4d54167..ded988c6 100644 --- a/ElectronNET.CLI/Commands/BuildCommand.cs +++ b/ElectronNET.CLI/Commands/BuildCommand.cs @@ -118,7 +118,7 @@ public Task ExecuteAsync() ProcessHelper.CmdExecute("npm install", hosthookDir); // ToDo: Not sure if this runs under linux/macos - ProcessHelper.CmdExecute(@"tsc -p . --sourceMap false", hosthookDir); + ProcessHelper.CmdExecute(@"npx tsc -p . --sourceMap false", hosthookDir); } Console.WriteLine("Build Electron Desktop Application..."); @@ -153,7 +153,7 @@ public Task ExecuteAsync() ProcessHelper.CmdExecute($"node build-helper.js", tempPath); Console.WriteLine($"Package Electron App for Platform {platformInfo.ElectronPackerPlatform}..."); - ProcessHelper.CmdExecute($"electron-builder . --config=./bin/electron-builder.json --{platformInfo.ElectronPackerPlatform} --{electronArch} -c.electronVersion=5.0.8 {electronParams}", tempPath); + ProcessHelper.CmdExecute($"npx electron-builder . --config=./bin/electron-builder.json --{platformInfo.ElectronPackerPlatform} --{electronArch} -c.electronVersion=5.0.8 {electronParams}", tempPath); Console.WriteLine("... done"); diff --git a/ElectronNET.CLI/Commands/StartElectronCommand.cs b/ElectronNET.CLI/Commands/StartElectronCommand.cs index 25835c2d..de271808 100644 --- a/ElectronNET.CLI/Commands/StartElectronCommand.cs +++ b/ElectronNET.CLI/Commands/StartElectronCommand.cs @@ -79,9 +79,8 @@ public Task ExecuteAsync() Console.WriteLine("Start npm install for typescript & hosthooks..."); ProcessHelper.CmdExecute("npm install", hosthookDir); - string tscPath = Path.Combine(tempPath, "node_modules", ".bin"); // ToDo: Not sure if this runs under linux/macos - ProcessHelper.CmdExecute(@"tsc -p ../../ElectronHostHook", tscPath); + ProcessHelper.CmdExecute(@"npx tsc -p ../../ElectronHostHook", tempPath); } string path = Path.Combine(tempPath, "node_modules", ".bin"); diff --git a/README.md b/README.md index a905b07b..4fe3ee0b 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,6 @@ The current Electron.NET CLI builds Windows/macOS/Linux binaries. Our API uses . Also you should have installed: * npm -* npm install -g typescript -* npm install -g electron-builder # Community @@ -104,12 +102,6 @@ To start the application make sure you have installed the "[ElectronNET.CLI](htt dotnet tool install ElectronNET.CLI -g ``` -* Make sure you have __node.js v8.6.0__ and on __macOS/Linux__ the electron-builder installed! - -``` -sudo npm install electron-builder --global -``` - At the first time, you need an Electron.NET project initialization. Type the following command in your ASP.NET Core folder: ``` diff --git a/appveyor.yml b/appveyor.yml index 33f8eb93..62d46748 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,6 @@ version: 1.0.{build} image: Visual Studio 2019 build_script: -- cmd: npm install typescript --global -- cmd: npm install electron-builder --global - cmd: buildAll.cmd pull_requests: do_not_increment_build_number: true