From a776d967ac46ee324067350e8f43493243d3a8c9 Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Thu, 23 Jun 2022 14:56:18 -0400 Subject: [PATCH] Add build scripts - Embed PDBs in assemblies - Suppress warnings for complex tasks --- .config/dotnet-tools.json | 12 ++ build.fsx | 132 ++++++++++++ build.fsx.lock | 227 +++++++++++++++++++++ fake.cmd | 2 + fake.sh | 7 + src/MyWebLog.Data/MyWebLog.Data.fsproj | 1 + src/MyWebLog.Data/SQLiteData.fs | 3 + src/MyWebLog.Domain/MyWebLog.Domain.fsproj | 1 + src/MyWebLog/Maintenance.fs | 3 + src/MyWebLog/MyWebLog.fsproj | 3 + src/MyWebLog/appsettings.json | 8 +- 11 files changed, 393 insertions(+), 6 deletions(-) create mode 100644 .config/dotnet-tools.json create mode 100644 build.fsx create mode 100644 build.fsx.lock create mode 100644 fake.cmd create mode 100755 fake.sh diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..37fc584 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "fake-cli": { + "version": "5.22.0", + "commands": [ + "fake" + ] + } + } +} \ No newline at end of file diff --git a/build.fsx b/build.fsx new file mode 100644 index 0000000..e9a5ad6 --- /dev/null +++ b/build.fsx @@ -0,0 +1,132 @@ +#r "paket: +nuget Fake.DotNet.Cli +nuget Fake.IO.FileSystem +nuget Fake.IO.Zip +nuget Fake.Core.Target //" +#load ".fake/build.fsx/intellisense.fsx" +open System.IO +open Fake.Core +open Fake.DotNet +open Fake.IO +open Fake.IO.Globbing.Operators +open Fake.Core.TargetOperators + +Target.initEnvironment () + +/// The output directory for release ZIPs +let releasePath = "releases" + +/// The path to the main project +let projectPath = "src/MyWebLog" + +/// The path and name of the main project +let projName = $"{projectPath}/MyWebLog.fsproj" + +/// The version being packaged (extracted from appsettings.json) +let version = + let settings = File.ReadAllText $"{projectPath}/appsettings.json" + let generator = settings.Substring (settings.IndexOf "\"Generator\":") + let appVersion = generator.Replace("\"Generator\": \"", "") + let appVersion = appVersion.Substring (0, appVersion.IndexOf "\"") + appVersion.Split ' ' |> Array.last + +/// Zip a theme distributed with myWebLog +let zipTheme (name : string) (_ : TargetParameter) = + let path = $"src/{name}-theme" + Trace.log $"Path = {path}" + !! $"{path}/**/*" + |> Zip.filesAsSpecs path //$"src/{name}-theme" + |> Seq.filter (fun (_, name) -> not (name.EndsWith ".zip")) + |> Zip.zipSpec $"{releasePath}/{name}.zip" + +/// Publish the project for the given runtime ID +let publishFor rid (_ : TargetParameter) = + DotNet.publish (fun opts -> { opts with Runtime = Some rid; SelfContained = Some false; NoLogo = true }) projName + +/// Package published output for the given runtime ID +let packageFor (rid : string) (_ : TargetParameter) = + let path = $"{projectPath}/bin/Release/net6.0/{rid}/publish" + [ !! $"{path}/**/*" + |> Zip.filesAsSpecs path + |> Zip.moveToFolder "app" + Seq.singleton ($"{releasePath}/admin.zip", "admin.zip") + Seq.singleton ($"{releasePath}/default.zip", "default.zip") + ] + |> Seq.concat + |> Zip.zipSpec $"{releasePath}/myWebLog-{version}.{rid}.zip" + + +Target.create "Clean" (fun _ -> + !! "src/**/bin" + ++ "src/**/obj" + |> Shell.cleanDirs + Shell.cleanDir releasePath +) + +Target.create "Build" (fun _ -> + DotNet.build (fun opts -> { opts with NoLogo = true }) projName +) + +Target.create "ZipAdminTheme" (zipTheme "admin") +Target.create "ZipDefaultTheme" (zipTheme "default") + +Target.create "PublishWindows" (publishFor "win-x64") +Target.create "PackageWindows" (packageFor "win-x64") + +Target.create "PublishLinux" (publishFor "linux-x64") +Target.create "PackageLinux" (packageFor "linux-x64") + +Target.create "RepackageLinux" (fun _ -> + let workDir = $"{releasePath}/linux" + let zipArchive = $"{releasePath}/myWebLog-{version}.linux-x64.zip" + Shell.mkdir workDir + Zip.unzip workDir zipArchive + Shell.cd workDir + [ "cfj"; $"../myWebLog-{version}.linux-x64.tar.bz2"; "." ] + |> CreateProcess.fromRawCommand "tar" + |> CreateProcess.redirectOutput + |> Proc.run + |> ignore + Shell.cd "../.." + Shell.rm zipArchive + Shell.rm_rf workDir +) + +Target.create "All" ignore + +"Clean" + ==> "All" + +"Clean" + ?=> "Build" + ==> "All" + +"Clean" + ?=> "ZipDefaultTheme" + ==> "All" + +"Clean" + ?=> "ZipAdminTheme" + ==> "All" + +"Build" + ==> "PublishWindows" + ==> "All" + +"Build" + ==> "PublishLinux" + ==> "All" + +"PublishWindows" + ==> "PackageWindows" + ==> "All" + +"PublishLinux" + ==> "PackageLinux" + ==> "All" + +"PackageLinux" + ==> "RepackageLinux" + ==> "All" + +Target.runOrDefault "All" diff --git a/build.fsx.lock b/build.fsx.lock new file mode 100644 index 0000000..610ff8f --- /dev/null +++ b/build.fsx.lock @@ -0,0 +1,227 @@ +STORAGE: NONE +RESTRICTION: || (== net6.0) (== netstandard2.0) +NUGET + remote: https://api.nuget.org/v3/index.json + BlackFox.VsWhere (1.1) + FSharp.Core (>= 4.2.3) + Microsoft.Win32.Registry (>= 4.7) + Fake.Core.CommandLineParsing (5.22) + FParsec (>= 1.1.1) + FSharp.Core (>= 6.0) + Fake.Core.Context (5.22) + FSharp.Core (>= 6.0) + Fake.Core.Environment (5.22) + FSharp.Core (>= 6.0) + Fake.Core.FakeVar (5.22) + Fake.Core.Context (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Process (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + System.Collections.Immutable (>= 5.0) + Fake.Core.SemVer (5.22) + FSharp.Core (>= 6.0) + Fake.Core.String (5.22) + FSharp.Core (>= 6.0) + Fake.Core.Target (5.22) + Fake.Core.CommandLineParsing (>= 5.22) + Fake.Core.Context (>= 5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Control.Reactive (>= 5.0.2) + FSharp.Core (>= 6.0) + Fake.Core.Tasks (5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Trace (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Xml (5.22) + Fake.Core.String (>= 5.22) + FSharp.Core (>= 6.0) + Fake.DotNet.Cli (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.DotNet.MSBuild (>= 5.22) + Fake.DotNet.NuGet (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + Mono.Posix.NETStandard (>= 1.0) + Newtonsoft.Json (>= 13.0.1) + Fake.DotNet.MSBuild (5.22) + BlackFox.VsWhere (>= 1.1) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + MSBuild.StructuredLogger (>= 2.1.545) + Fake.DotNet.NuGet (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.SemVer (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Tasks (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.Core.Xml (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + Fake.Net.Http (>= 5.22) + FSharp.Core (>= 6.0) + Newtonsoft.Json (>= 13.0.1) + NuGet.Protocol (>= 5.11) + Fake.IO.FileSystem (5.22) + Fake.Core.String (>= 5.22) + FSharp.Core (>= 6.0) + Fake.IO.Zip (5.22) + Fake.Core.String (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Net.Http (5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Core (>= 6.0) + FParsec (1.1.1) + FSharp.Core (>= 4.3.4) + FSharp.Control.Reactive (5.0.5) + FSharp.Core (>= 4.7.2) + System.Reactive (>= 5.0 < 6.0) + FSharp.Core (6.0.5) + Microsoft.Build (17.2) + Microsoft.Build.Framework (>= 17.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + Microsoft.NET.StringTools (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + Microsoft.Win32.Registry (>= 4.3) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) + System.Collections.Immutable (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + System.Configuration.ConfigurationManager (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + System.Reflection.Metadata (>= 1.6) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) + System.Security.Principal.Windows (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) + System.Text.Encoding.CodePages (>= 4.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) + System.Text.Json (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + System.Threading.Tasks.Dataflow (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + Microsoft.Build.Framework (17.2) + Microsoft.Win32.Registry (>= 4.3) + System.Security.Permissions (>= 4.7) + Microsoft.Build.Tasks.Core (17.2) + Microsoft.Build.Framework (>= 17.2) + Microsoft.Build.Utilities.Core (>= 17.2) + Microsoft.NET.StringTools (>= 1.0) + Microsoft.Win32.Registry (>= 4.3) + System.CodeDom (>= 4.4) + System.Collections.Immutable (>= 5.0) + System.Reflection.Metadata (>= 1.6) + System.Resources.Extensions (>= 4.6) + System.Security.Cryptography.Pkcs (>= 4.7) + System.Security.Cryptography.Xml (>= 4.7) + System.Security.Permissions (>= 4.7) + System.Threading.Tasks.Dataflow (>= 6.0) + Microsoft.Build.Utilities.Core (17.2) + Microsoft.Build.Framework (>= 17.2) + Microsoft.NET.StringTools (>= 1.0) + Microsoft.Win32.Registry (>= 4.3) + System.Collections.Immutable (>= 5.0) + System.Configuration.ConfigurationManager (>= 4.7) + System.Security.Permissions (>= 4.7) - restriction: == netstandard2.0 + System.Text.Encoding.CodePages (>= 4.0.1) - restriction: == netstandard2.0 + Microsoft.NET.StringTools (1.0) + System.Memory (>= 4.5.4) + System.Runtime.CompilerServices.Unsafe (>= 5.0) + Microsoft.NETCore.Platforms (6.0.4) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0) + Microsoft.NETCore.Targets (5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0) + Microsoft.Win32.Registry (5.0) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monoandroid) (< netstandard1.3)) (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0) + System.Security.AccessControl (>= 5.0) + System.Security.Principal.Windows (>= 5.0) + Microsoft.Win32.SystemEvents (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Mono.Posix.NETStandard (1.0) + MSBuild.StructuredLogger (2.1.669) + Microsoft.Build (>= 16.10) + Microsoft.Build.Framework (>= 16.10) + Microsoft.Build.Tasks.Core (>= 16.10) + Microsoft.Build.Utilities.Core (>= 16.10) + Newtonsoft.Json (13.0.1) + NuGet.Common (6.2.1) + NuGet.Frameworks (>= 6.2.1) + NuGet.Configuration (6.2.1) + NuGet.Common (>= 6.2.1) + System.Security.Cryptography.ProtectedData (>= 4.4) + NuGet.Frameworks (6.2.1) + NuGet.Packaging (6.2.1) + Newtonsoft.Json (>= 13.0.1) + NuGet.Configuration (>= 6.2.1) + NuGet.Versioning (>= 6.2.1) + System.Security.Cryptography.Cng (>= 5.0) + System.Security.Cryptography.Pkcs (>= 5.0) + NuGet.Protocol (6.2.1) + NuGet.Packaging (>= 6.2.1) + NuGet.Versioning (6.2.1) + System.Buffers (4.5.1) - restriction: || (&& (== net6.0) (>= monoandroid) (< netstandard1.3)) (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.CodeDom (6.0) + System.Collections.Immutable (6.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Configuration.ConfigurationManager (6.0) + System.Security.Cryptography.ProtectedData (>= 6.0) + System.Security.Permissions (>= 6.0) + System.Drawing.Common (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Microsoft.Win32.SystemEvents (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Formats.Asn1 (6.0) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Memory (4.5.5) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= uap10.1)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Numerics.Vectors (4.5) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Reactive (5.0) + System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0) + System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Metadata (6.0.1) + System.Collections.Immutable (>= 6.0) + System.Resources.Extensions (6.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Runtime (4.3.1) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0) + Microsoft.NETCore.Platforms (>= 1.1.1) + Microsoft.NETCore.Targets (>= 1.1.3) + System.Runtime.CompilerServices.Unsafe (6.0) + System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0) + System.Runtime (>= 4.3) + System.Security.AccessControl (6.0) + System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Security.Cryptography.Cng (5.0) + System.Formats.Asn1 (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) + System.Security.Cryptography.Pkcs (6.0.1) + System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) + System.Formats.Asn1 (>= 6.0) + System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) + System.Security.Cryptography.Cng (>= 5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) + System.Security.Cryptography.ProtectedData (6.0) + System.Security.Cryptography.Xml (6.0) + System.Memory (>= 4.5.4) - restriction: == netstandard2.0 + System.Security.AccessControl (>= 6.0) + System.Security.Cryptography.Pkcs (>= 6.0) + System.Security.Permissions (6.0) + System.Security.AccessControl (>= 6.0) + System.Windows.Extensions (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Security.Principal.Windows (5.0) + System.Text.Encoding.CodePages (6.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Json (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Encodings.Web (>= 6.0) + System.Threading.Tasks.Dataflow (6.0) + System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== netstandard2.0) + System.Windows.Extensions (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Drawing.Common (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) diff --git a/fake.cmd b/fake.cmd new file mode 100644 index 0000000..43536ae --- /dev/null +++ b/fake.cmd @@ -0,0 +1,2 @@ +dotnet tool restore +dotnet fake %* \ No newline at end of file diff --git a/fake.sh b/fake.sh new file mode 100755 index 0000000..bc92bc9 --- /dev/null +++ b/fake.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -eu +set -o pipefail + +dotnet tool restore +dotnet fake "$@" \ No newline at end of file diff --git a/src/MyWebLog.Data/MyWebLog.Data.fsproj b/src/MyWebLog.Data/MyWebLog.Data.fsproj index 3935956..5246519 100644 --- a/src/MyWebLog.Data/MyWebLog.Data.fsproj +++ b/src/MyWebLog.Data/MyWebLog.Data.fsproj @@ -3,6 +3,7 @@ net6.0 true + embedded diff --git a/src/MyWebLog.Data/SQLiteData.fs b/src/MyWebLog.Data/SQLiteData.fs index 67433e0..ad40cea 100644 --- a/src/MyWebLog.Data/SQLiteData.fs +++ b/src/MyWebLog.Data/SQLiteData.fs @@ -235,6 +235,9 @@ module private SqliteHelpers = let maybe<'T> (it : 'T option) : obj = match it with Some x -> x :> obj | None -> DBNull.Value +// The web log podcast insert loop is not statically compilable; this is OK +#nowarn "3511" + /// SQLite myWebLog data implementation type SQLiteData (conn : SqliteConnection, log : ILogger) = diff --git a/src/MyWebLog.Domain/MyWebLog.Domain.fsproj b/src/MyWebLog.Domain/MyWebLog.Domain.fsproj index da6624e..5d8c3e0 100644 --- a/src/MyWebLog.Domain/MyWebLog.Domain.fsproj +++ b/src/MyWebLog.Domain/MyWebLog.Domain.fsproj @@ -3,6 +3,7 @@ net6.0 true + embedded diff --git a/src/MyWebLog/Maintenance.fs b/src/MyWebLog/Maintenance.fs index 26a58cc..05ad0bc 100644 --- a/src/MyWebLog/Maintenance.fs +++ b/src/MyWebLog/Maintenance.fs @@ -110,6 +110,9 @@ let importLinks args sp = task { | _ -> printfn "Usage: MyWebLog import-links [url] [file-name]" } +// Loading a theme and restoring a backup are not statically compilable; this is OK +#nowarn "3511" + /// Load a theme from the given ZIP file let loadTheme (args : string[]) (sp : IServiceProvider) = task { if args.Length > 1 then diff --git a/src/MyWebLog/MyWebLog.fsproj b/src/MyWebLog/MyWebLog.fsproj index 8bff1fa..972572c 100644 --- a/src/MyWebLog/MyWebLog.fsproj +++ b/src/MyWebLog/MyWebLog.fsproj @@ -3,6 +3,9 @@ Exe net6.0 + true + false + embedded 3391 diff --git a/src/MyWebLog/appsettings.json b/src/MyWebLog/appsettings.json index 0e6f2ea..f7d098b 100644 --- a/src/MyWebLog/appsettings.json +++ b/src/MyWebLog/appsettings.json @@ -1,12 +1,8 @@ { - "RethinkDB": { - "hostname": "data02.bitbadger.solutions", - "database": "myWebLog_dev" - }, - "Generator": "myWebLog 2.0-alpha36", + "Generator": "myWebLog 2.0-beta01", "Logging": { "LogLevel": { - "MyWebLog.Handlers": "Debug" + "MyWebLog.Handlers": "Information" } } }