diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml index ce04491f..59d3fb5f 100644 --- a/.github/workflows/dotnet-build.yml +++ b/.github/workflows/dotnet-build.yml @@ -145,27 +145,9 @@ jobs: - name: Clean run: dotnet clean -c Release - - name: Replace Rules.Framework package references w/ project references - run: | - dotnet remove src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj package Rules.Framework - dotnet remove src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj package Rules.Framework - dotnet remove src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj package Rules.Framework - dotnet add src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj reference src/Rules.Framework/Rules.Framework.csproj - dotnet add src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj reference src/Rules.Framework/Rules.Framework.csproj - dotnet add src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj reference src/Rules.Framework/Rules.Framework.csproj - - name: Clear Nuget locals run: dotnet nuget locals all --clear - - name: Restore dependencies w/ Rules.Framework project reference - run: dotnet restore - - - name: Build w/ Rules.Framework project reference - run: dotnet build --no-restore -c Release - - - name: Test w/ Rules.Framework project reference (no coverage) - run: dotnet test --no-build --verbosity normal -m:1 -c Release - - name: Delete build tag if exists uses: dev-drprasad/delete-tag-and-release@v0.2.0 continue-on-error: true diff --git a/.github/workflows/dotnet-publish.yml b/.github/workflows/dotnet-publish.yml index 8a550089..fe9e6c04 100644 --- a/.github/workflows/dotnet-publish.yml +++ b/.github/workflows/dotnet-publish.yml @@ -42,9 +42,6 @@ jobs: - name: Pack Rules.Framework.Providers.MongoDb run: dotnet pack src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj --include-symbols -c Release /p:Version=$BUILD_VERSION - - name: Pack Rules.Framework.Providers.InMemory - run: dotnet pack src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj --include-symbols -c Release /p:Version=$BUILD_VERSION - - name: Pack Rules.Framework.WebUI run: dotnet pack src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj --include-symbols -c Release /p:Version=$BUILD_VERSION diff --git a/rules-framework.sln b/rules-framework.sln index 448f4305..5aeb121e 100644 --- a/rules-framework.sln +++ b/rules-framework.sln @@ -24,8 +24,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Rules.Framework.Providers.M EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Rules.Framework.Providers.MongoDb.Tests", "tests\Rules.Framework.Providers.MongoDb.Tests\Rules.Framework.Providers.MongoDb.Tests.csproj", "{C2957B7C-D601-4850-BCCE-D9AEF07225AB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Rules.Framework.Providers.InMemory", "src\Rules.Framework.Providers.InMemory\Rules.Framework.Providers.InMemory.csproj", "{D3A17A64-CC74-4EA0-95EA-9E141913BF70}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Rules.Framework.IntegrationTests.Common", "tests\Rules.Framework.IntegrationTests.Common\Rules.Framework.IntegrationTests.Common.csproj", "{7C04ECEF-6504-453D-ABD8-FD3D5A2CF7F6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Rules.Framework.Providers.InMemory.IntegrationTests", "tests\Rules.Framework.Providers.InMemory.IntegrationTests\Rules.Framework.Providers.InMemory.IntegrationTests.csproj", "{69BBA04D-116C-48EA-A8FD-ECC8CA0D57BE}" @@ -72,10 +70,6 @@ Global {C2957B7C-D601-4850-BCCE-D9AEF07225AB}.Debug|Any CPU.Build.0 = Debug|Any CPU {C2957B7C-D601-4850-BCCE-D9AEF07225AB}.Release|Any CPU.ActiveCfg = Release|Any CPU {C2957B7C-D601-4850-BCCE-D9AEF07225AB}.Release|Any CPU.Build.0 = Release|Any CPU - {D3A17A64-CC74-4EA0-95EA-9E141913BF70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D3A17A64-CC74-4EA0-95EA-9E141913BF70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3A17A64-CC74-4EA0-95EA-9E141913BF70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D3A17A64-CC74-4EA0-95EA-9E141913BF70}.Release|Any CPU.Build.0 = Release|Any CPU {7C04ECEF-6504-453D-ABD8-FD3D5A2CF7F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7C04ECEF-6504-453D-ABD8-FD3D5A2CF7F6}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C04ECEF-6504-453D-ABD8-FD3D5A2CF7F6}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -115,7 +109,6 @@ Global {460130DF-2360-494C-BB6F-BD87B033DF9D} = {AEE746EC-CEAA-4892-8C29-0CAAB97A23A8} {8E14BC18-583F-43EF-99CF-08932D6303A0} = {74E24C97-8EE4-4B69-AECD-4765FD2C751F} {C2957B7C-D601-4850-BCCE-D9AEF07225AB} = {74E24C97-8EE4-4B69-AECD-4765FD2C751F} - {D3A17A64-CC74-4EA0-95EA-9E141913BF70} = {AEE746EC-CEAA-4892-8C29-0CAAB97A23A8} {7C04ECEF-6504-453D-ABD8-FD3D5A2CF7F6} = {74E24C97-8EE4-4B69-AECD-4765FD2C751F} {69BBA04D-116C-48EA-A8FD-ECC8CA0D57BE} = {74E24C97-8EE4-4B69-AECD-4765FD2C751F} {BB319C5B-9BF5-4DDB-B522-CFC64D7272C4} = {74E24C97-8EE4-4B69-AECD-4765FD2C751F} diff --git a/samples/Rules.Framework.InMemory.Sample/Rules.Framework.InMemory.Sample.csproj b/samples/Rules.Framework.InMemory.Sample/Rules.Framework.InMemory.Sample.csproj index 06a2272c..48f467ee 100644 --- a/samples/Rules.Framework.InMemory.Sample/Rules.Framework.InMemory.Sample.csproj +++ b/samples/Rules.Framework.InMemory.Sample/Rules.Framework.InMemory.Sample.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/Rules.Framework.WebUI.Sample/Rules.Framework.WebUI.Sample.csproj b/samples/Rules.Framework.WebUI.Sample/Rules.Framework.WebUI.Sample.csproj index 2648646a..805f8ed4 100644 --- a/samples/Rules.Framework.WebUI.Sample/Rules.Framework.WebUI.Sample.csproj +++ b/samples/Rules.Framework.WebUI.Sample/Rules.Framework.WebUI.Sample.csproj @@ -15,7 +15,6 @@ - diff --git a/src/Rules.Framework.Providers.InMemory/AssemblyMetadata.cs b/src/Rules.Framework.Providers.InMemory/AssemblyMetadata.cs deleted file mode 100644 index 836f599e..00000000 --- a/src/Rules.Framework.Providers.InMemory/AssemblyMetadata.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: InternalsVisibleTo("Rules.Framework.Providers.InMemory.Tests")] -[assembly: InternalsVisibleTo("Rules.Framework.Providers.InMemory.IntegrationTests")] \ No newline at end of file diff --git a/src/Rules.Framework.Providers.InMemory/GlobalSuppressions.cs b/src/Rules.Framework.Providers.InMemory/GlobalSuppressions.cs deleted file mode 100644 index b974ecaa..00000000 --- a/src/Rules.Framework.Providers.InMemory/GlobalSuppressions.cs +++ /dev/null @@ -1,8 +0,0 @@ -// This file is used by Code Analysis to maintain SuppressMessage -// attributes that are applied to this project. -// Project-level suppressions either have no target or are given -// a specific target and scoped to a namespace, type, member, etc. - -using System.Diagnostics.CodeAnalysis; - -[assembly: SuppressMessage("Major Code Smell", "S2326:Unused type parameters should be removed", Justification = "", Scope = "type", Target = "~T:Rules.Framework.Providers.InMemory.DataModel.ConditionNodeDataModel`1")] diff --git a/src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj b/src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj deleted file mode 100644 index af19ebdc..00000000 --- a/src/Rules.Framework.Providers.InMemory/Rules.Framework.Providers.InMemory.csproj +++ /dev/null @@ -1,41 +0,0 @@ - - - - netstandard2.0 - 9.0 - true - - - - - - - LICENSE.md - - - Git - rules rulesframework memory inmemory - A data source provider implementation using InMemory for rules framework. - - - - - - - True - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - \ No newline at end of file diff --git a/src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj b/src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj index f49e6932..2f736313 100644 --- a/src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj +++ b/src/Rules.Framework.Providers.MongoDb/Rules.Framework.Providers.MongoDb.csproj @@ -37,6 +37,9 @@ - + + + + \ No newline at end of file diff --git a/src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj b/src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj index 455024bc..151ced4e 100644 --- a/src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj +++ b/src/Rules.Framework.WebUI/Rules.Framework.WebUI.csproj @@ -47,7 +47,7 @@ - + diff --git a/src/Rules.Framework/AssemblyMetadata.cs b/src/Rules.Framework/AssemblyMetadata.cs index fc62b7b0..a88ba7ef 100644 --- a/src/Rules.Framework/AssemblyMetadata.cs +++ b/src/Rules.Framework/AssemblyMetadata.cs @@ -2,4 +2,6 @@ [assembly: InternalsVisibleTo("Rules.Framework.Tests")] [assembly: InternalsVisibleTo("Rules.Framework.IntegrationTests")] +[assembly: InternalsVisibleTo("Rules.Framework.Providers.InMemory.Tests")] +[assembly: InternalsVisibleTo("Rules.Framework.Providers.InMemory.IntegrationTests")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] \ No newline at end of file diff --git a/src/Rules.Framework/GlobalSuppressions.cs b/src/Rules.Framework/GlobalSuppressions.cs index 88bf164e..40cfbe36 100644 --- a/src/Rules.Framework/GlobalSuppressions.cs +++ b/src/Rules.Framework/GlobalSuppressions.cs @@ -16,4 +16,5 @@ [assembly: SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "", Scope = "member", Target = "~M:Rules.Framework.RulesEngine`2.AddRuleAsync(Rules.Framework.Core.Rule{`0,`1})~System.Threading.Tasks.Task")] [assembly: SuppressMessage("Naming", "CA1717:Only FlagsAttribute enums should have plural names", Justification = "", Scope = "type", Target = "~T:Rules.Framework.PriorityOptions")] [assembly: SuppressMessage("Major Bug", "S2259:Null pointers should not be dereferenced", Justification = "That is validated somes lines above, and if it is null, a RuleOperationResult with error is returned right away.", Scope = "member", Target = "~M:Rules.Framework.RulesEngine`2.UpdateRuleInternalAsync(Rules.Framework.Core.Rule{`0,`1})~System.Threading.Tasks.Task{Rules.Framework.RuleOperationResult}")] -[assembly: SuppressMessage("Minor Code Smell", "S3963:\"static\" fields should be initialized inline", Justification = "To ensure initialization logic ordered as specified in class constructor.", Scope = "member", Target = "~M:Rules.Framework.Evaluation.OperatorsMetadata.#cctor")] \ No newline at end of file +[assembly: SuppressMessage("Minor Code Smell", "S3963:\"static\" fields should be initialized inline", Justification = "To ensure initialization logic ordered as specified in class constructor.", Scope = "member", Target = "~M:Rules.Framework.Evaluation.OperatorsMetadata.#cctor")] +[assembly: SuppressMessage("Major Code Smell", "S2326:Unused type parameters should be removed", Justification = "", Scope = "type", Target = "~T:Rules.Framework.Providers.InMemory.DataModel.ConditionNodeDataModel`1")] \ No newline at end of file diff --git a/src/Rules.Framework.Providers.InMemory/DataModel/ComposedConditionNodeDataModel.cs b/src/Rules.Framework/Providers/InMemory/DataModel/ComposedConditionNodeDataModel.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/DataModel/ComposedConditionNodeDataModel.cs rename to src/Rules.Framework/Providers/InMemory/DataModel/ComposedConditionNodeDataModel.cs diff --git a/src/Rules.Framework.Providers.InMemory/DataModel/ConditionNodeDataModel.cs b/src/Rules.Framework/Providers/InMemory/DataModel/ConditionNodeDataModel.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/DataModel/ConditionNodeDataModel.cs rename to src/Rules.Framework/Providers/InMemory/DataModel/ConditionNodeDataModel.cs diff --git a/src/Rules.Framework.Providers.InMemory/DataModel/RuleDataModel.cs b/src/Rules.Framework/Providers/InMemory/DataModel/RuleDataModel.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/DataModel/RuleDataModel.cs rename to src/Rules.Framework/Providers/InMemory/DataModel/RuleDataModel.cs diff --git a/src/Rules.Framework.Providers.InMemory/DataModel/ValueConditionNodeDataModel.cs b/src/Rules.Framework/Providers/InMemory/DataModel/ValueConditionNodeDataModel.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/DataModel/ValueConditionNodeDataModel.cs rename to src/Rules.Framework/Providers/InMemory/DataModel/ValueConditionNodeDataModel.cs diff --git a/src/Rules.Framework.Providers.InMemory/IInMemoryRulesStorage.cs b/src/Rules.Framework/Providers/InMemory/IInMemoryRulesStorage.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/IInMemoryRulesStorage.cs rename to src/Rules.Framework/Providers/InMemory/IInMemoryRulesStorage.cs diff --git a/src/Rules.Framework.Providers.InMemory/IRuleFactory.cs b/src/Rules.Framework/Providers/InMemory/IRuleFactory.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/IRuleFactory.cs rename to src/Rules.Framework/Providers/InMemory/IRuleFactory.cs diff --git a/src/Rules.Framework.Providers.InMemory/InMemoryProviderRulesDataSource.cs b/src/Rules.Framework/Providers/InMemory/InMemoryProviderRulesDataSource.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/InMemoryProviderRulesDataSource.cs rename to src/Rules.Framework/Providers/InMemory/InMemoryProviderRulesDataSource.cs diff --git a/src/Rules.Framework.Providers.InMemory/InMemoryProviderRulesDataSourceSelectorExtensions.cs b/src/Rules.Framework/Providers/InMemory/InMemoryProviderRulesDataSourceSelectorExtensions.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/InMemoryProviderRulesDataSourceSelectorExtensions.cs rename to src/Rules.Framework/Providers/InMemory/InMemoryProviderRulesDataSourceSelectorExtensions.cs diff --git a/src/Rules.Framework.Providers.InMemory/InMemoryRulesStorage.cs b/src/Rules.Framework/Providers/InMemory/InMemoryRulesStorage.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/InMemoryRulesStorage.cs rename to src/Rules.Framework/Providers/InMemory/InMemoryRulesStorage.cs diff --git a/src/Rules.Framework.Providers.InMemory/RuleFactory.cs b/src/Rules.Framework/Providers/InMemory/RuleFactory.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/RuleFactory.cs rename to src/Rules.Framework/Providers/InMemory/RuleFactory.cs diff --git a/src/Rules.Framework.Providers.InMemory/ServiceCollectionExtensions.cs b/src/Rules.Framework/Providers/InMemory/ServiceCollectionExtensions.cs similarity index 100% rename from src/Rules.Framework.Providers.InMemory/ServiceCollectionExtensions.cs rename to src/Rules.Framework/Providers/InMemory/ServiceCollectionExtensions.cs diff --git a/src/Rules.Framework/Rules.Framework.csproj b/src/Rules.Framework/Rules.Framework.csproj index f78bc4f7..7dd00b6a 100644 --- a/src/Rules.Framework/Rules.Framework.csproj +++ b/src/Rules.Framework/Rules.Framework.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 @@ -30,6 +30,7 @@ + @@ -41,5 +42,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + \ No newline at end of file diff --git a/tests/Rules.Framework.Providers.InMemory.IntegrationTests/Rules.Framework.Providers.InMemory.IntegrationTests.csproj b/tests/Rules.Framework.Providers.InMemory.IntegrationTests/Rules.Framework.Providers.InMemory.IntegrationTests.csproj index 01003fe4..891d4db9 100644 --- a/tests/Rules.Framework.Providers.InMemory.IntegrationTests/Rules.Framework.Providers.InMemory.IntegrationTests.csproj +++ b/tests/Rules.Framework.Providers.InMemory.IntegrationTests/Rules.Framework.Providers.InMemory.IntegrationTests.csproj @@ -22,7 +22,7 @@ - + diff --git a/tests/Rules.Framework.Providers.InMemory.Tests/Rules.Framework.Providers.InMemory.Tests.csproj b/tests/Rules.Framework.Providers.InMemory.Tests/Rules.Framework.Providers.InMemory.Tests.csproj index 9d03d986..8824d451 100644 --- a/tests/Rules.Framework.Providers.InMemory.Tests/Rules.Framework.Providers.InMemory.Tests.csproj +++ b/tests/Rules.Framework.Providers.InMemory.Tests/Rules.Framework.Providers.InMemory.Tests.csproj @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/tests/Rules.Framework.WebUI.Tests/Rules.Framework.WebUI.Tests.csproj b/tests/Rules.Framework.WebUI.Tests/Rules.Framework.WebUI.Tests.csproj index b2b3b9dc..a2b51717 100644 --- a/tests/Rules.Framework.WebUI.Tests/Rules.Framework.WebUI.Tests.csproj +++ b/tests/Rules.Framework.WebUI.Tests/Rules.Framework.WebUI.Tests.csproj @@ -12,7 +12,6 @@ - all