From bcdb9efee83d9de67d27b6897998b434675c8500 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 19:41:30 +0200 Subject: [PATCH 1/6] Move dotnet code style settings to .globalconfig (#52) --- .editorconfig | 61 ------------------- .globalconfig | 57 +++++++++++++++++ src/AliasGenerators/AliasGenerators.csproj | 2 +- src/AliasVault.Api/AliasVault.Api.csproj | 2 +- .../AliasVault.Shared.csproj | 2 +- .../AliasVault.WebApp.csproj | 4 +- .../Cryptography/Cryptography.csproj | 2 +- 7 files changed, 63 insertions(+), 67 deletions(-) create mode 100644 .globalconfig diff --git a/.editorconfig b/.editorconfig index 76dc34418..40d2781d1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -25,11 +25,6 @@ csharp_style_expression_bodied_indexers = true:silent csharp_style_expression_bodied_accessors = true:silent csharp_style_expression_bodied_lambdas = true:silent csharp_style_expression_bodied_local_functions = false:silent -dotnet_diagnostic.SA1011.severity = none -dotnet_diagnostic.SA1101.severity = none -dotnet_diagnostic.SA1309.severity = none -dotnet_diagnostic.SA1310.severity = warning -dotnet_diagnostic.SX1309.severity = none # Razor files [*.razor] @@ -65,59 +60,3 @@ indent_size = 4 [*.xml] indent_style = space indent_size = 4 - -[*.{cs,vb}] -#### Naming styles #### - -# Naming rules - -dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion -dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface -dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i - -dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.types_should_be_pascal_case.symbols = types -dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case - -dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members -dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case - -# Symbol specifications - -dotnet_naming_symbols.interface.applicable_kinds = interface -dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.interface.required_modifiers = - -dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum -dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.types.required_modifiers = - -dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method -dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.non_field_members.required_modifiers = - -# Naming styles - -dotnet_naming_style.begins_with_i.required_prefix = I -dotnet_naming_style.begins_with_i.required_suffix = -dotnet_naming_style.begins_with_i.word_separator = -dotnet_naming_style.begins_with_i.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case -dotnet_style_operator_placement_when_wrapping = beginning_of_line -tab_width = 4 -end_of_line = crlf -dotnet_style_coalesce_expression = false:suggestion -dotnet_style_null_propagation = false:suggestion - -# IDE0046: Convert to conditional expression -dotnet_diagnostic.IDE0046.severity = silent diff --git a/.globalconfig b/.globalconfig new file mode 100644 index 000000000..5b82cc794 --- /dev/null +++ b/.globalconfig @@ -0,0 +1,57 @@ +dotnet_diagnostic.SA1011.severity = none +dotnet_diagnostic.SA1101.severity = none +dotnet_diagnostic.SA1309.severity = none +dotnet_diagnostic.SA1310.severity = warning +dotnet_diagnostic.SX1309.severity = none + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case +dotnet_style_operator_placement_when_wrapping = beginning_of_line + +dotnet_style_coalesce_expression = false:suggestion +dotnet_style_null_propagation = false:suggestion + +# IDE0046: Convert to conditional expression +dotnet_diagnostic.IDE0046.severity = silent diff --git a/src/AliasGenerators/AliasGenerators.csproj b/src/AliasGenerators/AliasGenerators.csproj index 23b2caeb1..35d83fef2 100644 --- a/src/AliasGenerators/AliasGenerators.csproj +++ b/src/AliasGenerators/AliasGenerators.csproj @@ -12,7 +12,7 @@ - true + true diff --git a/src/AliasVault.Api/AliasVault.Api.csproj b/src/AliasVault.Api/AliasVault.Api.csproj index fcbb05fb4..fa7d2b653 100644 --- a/src/AliasVault.Api/AliasVault.Api.csproj +++ b/src/AliasVault.Api/AliasVault.Api.csproj @@ -10,7 +10,7 @@ - false + true diff --git a/src/AliasVault.Shared/AliasVault.Shared.csproj b/src/AliasVault.Shared/AliasVault.Shared.csproj index ec688bbed..d56a6ba10 100644 --- a/src/AliasVault.Shared/AliasVault.Shared.csproj +++ b/src/AliasVault.Shared/AliasVault.Shared.csproj @@ -8,7 +8,7 @@ bin\Debug\net8.0\AliasVault.Shared.xml - false + true diff --git a/src/AliasVault.WebApp/AliasVault.WebApp.csproj b/src/AliasVault.WebApp/AliasVault.WebApp.csproj index aeada7dec..370719482 100644 --- a/src/AliasVault.WebApp/AliasVault.WebApp.csproj +++ b/src/AliasVault.WebApp/AliasVault.WebApp.csproj @@ -18,14 +18,14 @@ bin\Debug\net8.0\AliasVault.WebApp.xml - false + true dev true bin\Release\net8.0\AliasVault.WebApp.xml - false + true True $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) diff --git a/src/Utilities/Cryptography/Cryptography.csproj b/src/Utilities/Cryptography/Cryptography.csproj index 8907b6efd..0aad782ff 100644 --- a/src/Utilities/Cryptography/Cryptography.csproj +++ b/src/Utilities/Cryptography/Cryptography.csproj @@ -7,7 +7,7 @@ - false + true bin\Debug\net8.0\Cryptography.xml From ae652297fa54491ba047815728a312154da9fdb6 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 19:49:11 +0200 Subject: [PATCH 2/6] Update Login.razor (#52) --- src/AliasVault.WebApp/Auth/Pages/Login.razor | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/AliasVault.WebApp/Auth/Pages/Login.razor b/src/AliasVault.WebApp/Auth/Pages/Login.razor index 4957fa586..010c3f1a7 100644 --- a/src/AliasVault.WebApp/Auth/Pages/Login.razor +++ b/src/AliasVault.WebApp/Auth/Pages/Login.razor @@ -129,15 +129,19 @@ GlobalNotificationService.ClearMessages(); NavigationManager.NavigateTo("/"); } +#if DEBUG catch (Exception ex) { - // If in debug mode, throw the exception. - #if DEBUG + // If in debug mode show the actual exception. _serverValidationErrors.AddError(ex.ToString()); - #else - _serverValidationErrors.AddError("An error occurred while processing the login request. Try again (later)."); - #endif } +#else + catch + { + // If in release mode show a generic error. + _serverValidationErrors.AddError("An error occurred while processing the login request. Try again (later)."); + } +#endif finally { _loadingIndicator.Hide(); From 27c0c9194e1163caeed489f147a1a8ecebb50cca Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 20:13:56 +0200 Subject: [PATCH 3/6] Add custom build task for cache busting (#52) --- aliasvault.sln | 7 +++ .../AliasVault.WebApp.csproj | 40 ++++++++------- src/Utilities/BuildTasks/BuildTasks.csproj | 14 ++++++ src/Utilities/BuildTasks/ReplaceTextTask.cs | 49 +++++++++++++++++++ 4 files changed, 91 insertions(+), 19 deletions(-) create mode 100644 src/Utilities/BuildTasks/BuildTasks.csproj create mode 100644 src/Utilities/BuildTasks/ReplaceTextTask.cs diff --git a/aliasvault.sln b/aliasvault.sln index c3f388fd9..e288413bb 100644 --- a/aliasvault.sln +++ b/aliasvault.sln @@ -27,6 +27,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{29DE523D EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AliasVault.E2ETests", "src\Tests\AliasVault.E2ETests\AliasVault.E2ETests.csproj", "{AF013D08-1BF6-4E23-87D2-37F614BE7952}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildTasks", "src\Utilities\BuildTasks\BuildTasks.csproj", "{66E17D91-5262-4BB3-8EC0-7FE354366D19}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -73,6 +75,10 @@ Global {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Debug|Any CPU.Build.0 = Debug|Any CPU {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Release|Any CPU.ActiveCfg = Release|Any CPU {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Release|Any CPU.Build.0 = Release|Any CPU + {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -82,5 +88,6 @@ Global {8E6A418A-B305-465D-857D-49953605C18E} = {29DE523D-EEF2-41E9-AC12-F20D8D02BEBB} {427EA8E2-EA76-467E-A6BC-201EFE40C0D0} = {01AB9389-2F89-4F8E-A688-BF4BF1FC42C8} {AF013D08-1BF6-4E23-87D2-37F614BE7952} = {29DE523D-EEF2-41E9-AC12-F20D8D02BEBB} + {66E17D91-5262-4BB3-8EC0-7FE354366D19} = {01AB9389-2F89-4F8E-A688-BF4BF1FC42C8} EndGlobalSection EndGlobal diff --git a/src/AliasVault.WebApp/AliasVault.WebApp.csproj b/src/AliasVault.WebApp/AliasVault.WebApp.csproj index 370719482..5300daaa4 100644 --- a/src/AliasVault.WebApp/AliasVault.WebApp.csproj +++ b/src/AliasVault.WebApp/AliasVault.WebApp.csproj @@ -6,30 +6,31 @@ enable Linux $([System.DateTime]::UtcNow.ToString("yyyy-MM-dd HH:mm:ss")) + + bin\Debug\net8.0\BuildTasks.dll + bin\Release\net8.0\BuildTasks.dll + + bin\Debug\net8.0\AliasVault.WebApp.xml + true + dev + + + + true + bin\Release\net8.0\AliasVault.WebApp.xml + true + True + $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) + + + + - + - - - - - - bin\Debug\net8.0\AliasVault.WebApp.xml - true - dev - - - - true - bin\Release\net8.0\AliasVault.WebApp.xml - true - True - $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - - @@ -57,6 +58,7 @@ + diff --git a/src/Utilities/BuildTasks/BuildTasks.csproj b/src/Utilities/BuildTasks/BuildTasks.csproj new file mode 100644 index 000000000..c46d7e887 --- /dev/null +++ b/src/Utilities/BuildTasks/BuildTasks.csproj @@ -0,0 +1,14 @@ + + + + net8.0 + enable + enable + + + + + + + + diff --git a/src/Utilities/BuildTasks/ReplaceTextTask.cs b/src/Utilities/BuildTasks/ReplaceTextTask.cs new file mode 100644 index 000000000..4b36fe37f --- /dev/null +++ b/src/Utilities/BuildTasks/ReplaceTextTask.cs @@ -0,0 +1,49 @@ +//----------------------------------------------------------------------- +// +// Copyright (c) lanedirt. All rights reserved. +// Licensed under the MIT license. See LICENSE.md file in the project root for full license information. +// +//----------------------------------------------------------------------- + +namespace BuildTasks; + +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using System.IO; + +/// +/// Custom task that can be called from MSBuild to replace text in a file. +/// This is used for updating version number and cache buster vars in files during +/// build of WASM app project. +/// +public class ReplaceTextTask : Task +{ + [Required] + public string InputFile { get; set; } = null!; + + [Required] + public string OutputFile { get; set; } = null!; + + [Required] + public string CacheBuster { get; set; } = null!; + + [Required] + public string BuildVersion { get; set; } = null!; + + public override bool Execute() + { + try + { + string content = File.ReadAllText(InputFile); + content = content.Replace("@CacheBuster", CacheBuster) + .Replace("@BuildVersion", BuildVersion); + File.WriteAllText(OutputFile, content); + return true; + } + catch (Exception ex) + { + Log.LogErrorFromException(ex); + return false; + } + } +} From 7290ee870cbf3b61e6fc11bbf06975d875af911b Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 20:56:39 +0200 Subject: [PATCH 4/6] Update buildtasks so it works on both Windows and Mac/Linux (#52) --- .gitignore | 3 +++ src/AliasVault.WebApp/AliasVault.WebApp.csproj | 2 +- src/AliasVault.WebApp/Dockerfile | 1 + src/Utilities/BuildTasks/BuildTasks.csproj | 5 +++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3d96fbc5a..58d88d6fa 100644 --- a/.gitignore +++ b/.gitignore @@ -376,3 +376,6 @@ FodyWeavers.xsd src/AliasVault.WebApp/wwwroot/index.html # .env is generated by init.sh and therefore should be ignored .env +# buildtasks is generated by the build process and therefore should be ignored +src/AliasVault.WebApp/buildtasks +src/Utilities/BuildTasks/buildtasks diff --git a/src/AliasVault.WebApp/AliasVault.WebApp.csproj b/src/AliasVault.WebApp/AliasVault.WebApp.csproj index 5300daaa4..39e470ad6 100644 --- a/src/AliasVault.WebApp/AliasVault.WebApp.csproj +++ b/src/AliasVault.WebApp/AliasVault.WebApp.csproj @@ -25,7 +25,7 @@ $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - + diff --git a/src/AliasVault.WebApp/Dockerfile b/src/AliasVault.WebApp/Dockerfile index af87e34f7..2a4a4f16f 100644 --- a/src/AliasVault.WebApp/Dockerfile +++ b/src/AliasVault.WebApp/Dockerfile @@ -13,6 +13,7 @@ COPY ["src/AliasVault.Shared/AliasVault.Shared.csproj", "src/AliasVault.Shared/" COPY ["src/AliasDb/AliasDb.csproj", "src/AliasDb/"] COPY ["src/AliasGenerators/AliasGenerators.csproj", "src/AliasGenerators/"] COPY ["src/Utilities/FaviconExtractor/FaviconExtractor.csproj", "src/Utilities/FaviconExtractor/"] +COPY ["src/Utilities/BuildTasks/BuildTasks.csproj", "src/Utilities/BuildTasks/"] RUN dotnet restore "src/AliasVault.WebApp/AliasVault.WebApp.csproj" # Copy the rest of the application code diff --git a/src/Utilities/BuildTasks/BuildTasks.csproj b/src/Utilities/BuildTasks/BuildTasks.csproj index c46d7e887..7e8814612 100644 --- a/src/Utilities/BuildTasks/BuildTasks.csproj +++ b/src/Utilities/BuildTasks/BuildTasks.csproj @@ -4,6 +4,7 @@ net8.0 enable enable + $(MSBuildThisFileDirectory)buildtasks\ @@ -11,4 +12,8 @@ + + + + From 0f80217e7472c535e5d77f6c74d1c44963731ac3 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 21:33:56 +0200 Subject: [PATCH 5/6] Replace buildtask project with RoslynCodeTaskFactory implementation (#52) --- .gitignore | 3 - aliasvault.sln | 7 --- .../AliasVault.WebApp.csproj | 25 ++++++-- src/Utilities/BuildTasks/BuildTasks.csproj | 19 ------ src/Utilities/BuildTasks/ReplaceTextTask.cs | 49 --------------- src/Utilities/GenericHelpers/Class1.cs | 61 ------------------- .../GenericHelpers/GenericHelpers.csproj | 9 --- 7 files changed, 19 insertions(+), 154 deletions(-) delete mode 100644 src/Utilities/BuildTasks/BuildTasks.csproj delete mode 100644 src/Utilities/BuildTasks/ReplaceTextTask.cs delete mode 100644 src/Utilities/GenericHelpers/Class1.cs delete mode 100644 src/Utilities/GenericHelpers/GenericHelpers.csproj diff --git a/.gitignore b/.gitignore index 58d88d6fa..3d96fbc5a 100644 --- a/.gitignore +++ b/.gitignore @@ -376,6 +376,3 @@ FodyWeavers.xsd src/AliasVault.WebApp/wwwroot/index.html # .env is generated by init.sh and therefore should be ignored .env -# buildtasks is generated by the build process and therefore should be ignored -src/AliasVault.WebApp/buildtasks -src/Utilities/BuildTasks/buildtasks diff --git a/aliasvault.sln b/aliasvault.sln index e288413bb..c3f388fd9 100644 --- a/aliasvault.sln +++ b/aliasvault.sln @@ -27,8 +27,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{29DE523D EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AliasVault.E2ETests", "src\Tests\AliasVault.E2ETests\AliasVault.E2ETests.csproj", "{AF013D08-1BF6-4E23-87D2-37F614BE7952}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildTasks", "src\Utilities\BuildTasks\BuildTasks.csproj", "{66E17D91-5262-4BB3-8EC0-7FE354366D19}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -75,10 +73,6 @@ Global {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Debug|Any CPU.Build.0 = Debug|Any CPU {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Release|Any CPU.ActiveCfg = Release|Any CPU {AF013D08-1BF6-4E23-87D2-37F614BE7952}.Release|Any CPU.Build.0 = Release|Any CPU - {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Release|Any CPU.ActiveCfg = Release|Any CPU - {66E17D91-5262-4BB3-8EC0-7FE354366D19}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -88,6 +82,5 @@ Global {8E6A418A-B305-465D-857D-49953605C18E} = {29DE523D-EEF2-41E9-AC12-F20D8D02BEBB} {427EA8E2-EA76-467E-A6BC-201EFE40C0D0} = {01AB9389-2F89-4F8E-A688-BF4BF1FC42C8} {AF013D08-1BF6-4E23-87D2-37F614BE7952} = {29DE523D-EEF2-41E9-AC12-F20D8D02BEBB} - {66E17D91-5262-4BB3-8EC0-7FE354366D19} = {01AB9389-2F89-4F8E-A688-BF4BF1FC42C8} EndGlobalSection EndGlobal diff --git a/src/AliasVault.WebApp/AliasVault.WebApp.csproj b/src/AliasVault.WebApp/AliasVault.WebApp.csproj index 39e470ad6..3f87ca5bc 100644 --- a/src/AliasVault.WebApp/AliasVault.WebApp.csproj +++ b/src/AliasVault.WebApp/AliasVault.WebApp.csproj @@ -6,9 +6,6 @@ enable Linux $([System.DateTime]::UtcNow.ToString("yyyy-MM-dd HH:mm:ss")) - - bin\Debug\net8.0\BuildTasks.dll - bin\Release\net8.0\BuildTasks.dll @@ -25,10 +22,27 @@ $([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - + + + + + + + + + + + + + - + @@ -58,7 +72,6 @@ - diff --git a/src/Utilities/BuildTasks/BuildTasks.csproj b/src/Utilities/BuildTasks/BuildTasks.csproj deleted file mode 100644 index 7e8814612..000000000 --- a/src/Utilities/BuildTasks/BuildTasks.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - net8.0 - enable - enable - $(MSBuildThisFileDirectory)buildtasks\ - - - - - - - - - - - - diff --git a/src/Utilities/BuildTasks/ReplaceTextTask.cs b/src/Utilities/BuildTasks/ReplaceTextTask.cs deleted file mode 100644 index 4b36fe37f..000000000 --- a/src/Utilities/BuildTasks/ReplaceTextTask.cs +++ /dev/null @@ -1,49 +0,0 @@ -//----------------------------------------------------------------------- -// -// Copyright (c) lanedirt. All rights reserved. -// Licensed under the MIT license. See LICENSE.md file in the project root for full license information. -// -//----------------------------------------------------------------------- - -namespace BuildTasks; - -using Microsoft.Build.Framework; -using Microsoft.Build.Utilities; -using System.IO; - -/// -/// Custom task that can be called from MSBuild to replace text in a file. -/// This is used for updating version number and cache buster vars in files during -/// build of WASM app project. -/// -public class ReplaceTextTask : Task -{ - [Required] - public string InputFile { get; set; } = null!; - - [Required] - public string OutputFile { get; set; } = null!; - - [Required] - public string CacheBuster { get; set; } = null!; - - [Required] - public string BuildVersion { get; set; } = null!; - - public override bool Execute() - { - try - { - string content = File.ReadAllText(InputFile); - content = content.Replace("@CacheBuster", CacheBuster) - .Replace("@BuildVersion", BuildVersion); - File.WriteAllText(OutputFile, content); - return true; - } - catch (Exception ex) - { - Log.LogErrorFromException(ex); - return false; - } - } -} diff --git a/src/Utilities/GenericHelpers/Class1.cs b/src/Utilities/GenericHelpers/Class1.cs deleted file mode 100644 index e95cd9efb..000000000 --- a/src/Utilities/GenericHelpers/Class1.cs +++ /dev/null @@ -1,61 +0,0 @@ -namespace GenericHelpers; - -using System; -using System.Net.Http; -using System.Threading.Tasks; -using HtmlAgilityPack; - -public class FaviconService -{ - public static async Task GetFaviconAsync(string url) - { - try - { - using (HttpClient client = new HttpClient()) - { - HttpResponseMessage response = await client.GetAsync(url); - if (!response.IsSuccessStatusCode) - { - return null; - } - - string htmlContent = await response.Content.ReadAsStringAsync(); - HtmlDocument htmlDoc = new HtmlDocument(); - htmlDoc.LoadHtml(htmlContent); - - // Try to find the favicon link in the HTML - var faviconNode = htmlDoc.DocumentNode.SelectSingleNode("//link[@rel='icon' or @rel='shortcut icon']"); - if (faviconNode == null) - { - return null; - } - - var faviconUrl = faviconNode.GetAttributeValue("href", null); - if (string.IsNullOrEmpty(faviconUrl)) - { - return null; - } - - // If the favicon URL is relative, convert it to an absolute URL - if (!Uri.IsWellFormedUriString(faviconUrl, UriKind.Absolute)) - { - var baseUri = new Uri(url); - faviconUrl = new Uri(baseUri, faviconUrl).ToString(); - } - - HttpResponseMessage faviconResponse = await client.GetAsync(faviconUrl); - if (!faviconResponse.IsSuccessStatusCode) - { - return null; - } - - byte[] faviconBytes = await faviconResponse.Content.ReadAsByteArrayAsync(); - return faviconBytes; - } - } - catch - { - return null; - } - } -} diff --git a/src/Utilities/GenericHelpers/GenericHelpers.csproj b/src/Utilities/GenericHelpers/GenericHelpers.csproj deleted file mode 100644 index 3a6353295..000000000 --- a/src/Utilities/GenericHelpers/GenericHelpers.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - net8.0 - enable - enable - - - From 83f62e17b238d975ca2d7a7abac017be05c5c76f Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Sun, 23 Jun 2024 21:35:42 +0200 Subject: [PATCH 6/6] Update Dockerfile (#52) --- src/AliasVault.WebApp/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/AliasVault.WebApp/Dockerfile b/src/AliasVault.WebApp/Dockerfile index 2a4a4f16f..af87e34f7 100644 --- a/src/AliasVault.WebApp/Dockerfile +++ b/src/AliasVault.WebApp/Dockerfile @@ -13,7 +13,6 @@ COPY ["src/AliasVault.Shared/AliasVault.Shared.csproj", "src/AliasVault.Shared/" COPY ["src/AliasDb/AliasDb.csproj", "src/AliasDb/"] COPY ["src/AliasGenerators/AliasGenerators.csproj", "src/AliasGenerators/"] COPY ["src/Utilities/FaviconExtractor/FaviconExtractor.csproj", "src/Utilities/FaviconExtractor/"] -COPY ["src/Utilities/BuildTasks/BuildTasks.csproj", "src/Utilities/BuildTasks/"] RUN dotnet restore "src/AliasVault.WebApp/AliasVault.WebApp.csproj" # Copy the rest of the application code