Skip to content
Merged

Net6 #265

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
7b135d6
wip net5/6 work
Oct 25, 2021
96a9d5d
added new files
Oct 25, 2021
cf3d642
wip
Nov 10, 2021
c0437b8
WIP
Nov 30, 2021
c64d691
WIP EF core 6 passing tests now
Dec 3, 2021
c12c4bf
WIP
hippiehunter Feb 4, 2022
b6c2d74
WIP net6: tests passing hand coded
hippiehunter Feb 19, 2022
9c25a80
Reset customer favorite item to D6
SteveIves Feb 26, 2022
905e610
Put back /odata/v1
SteveIves Feb 26, 2022
7d552c7
Remove erroneous SERVER_PROTOCOL setting.
SteveIves Feb 26, 2022
fd788a5
Remove SETLOG of DBG_SELECT
SteveIves Feb 26, 2022
c583833
Updated for .NET 6
SteveIves Feb 26, 2022
5bb6a11
Updated for .NET 6
SteveIves Feb 26, 2022
352336b
Updated because customer.FavoriteItem went back to D6
SteveIves Feb 26, 2022
27a6129
Whitespace only
SteveIves Feb 26, 2022
66c52cd
Whitespace
SteveIves Feb 26, 2022
49a35a2
Updated for .NET 6
SteveIves Feb 26, 2022
a3ac920
Fix <SIGNALR_PATH> value
SteveIves Feb 26, 2022
5338a6c
ixed a conversion issue
SteveIves Feb 26, 2022
e04ff57
Fixed issues related to change of FavoriteItem data type
SteveIves Feb 26, 2022
eb60277
reworked gui reference to make building easier
hippiehunter Feb 28, 2022
9b447b9
Merge branch 'net6' of https://github.com/Synergex/HarmonyCore into net6
hippiehunter Feb 28, 2022
cf1ed74
wip cli tool
hippiehunter Mar 2, 2022
460833e
wip cli tool
hippiehunter Mar 12, 2022
9a781b8
Update azure-pipelines.yml for Azure Pipelines
hippiehunter Mar 12, 2022
f3fa69e
remove bad project from sln, bump to net 6
hippiehunter Mar 12, 2022
e2ecdce
hack redirected input buffer size and optimize for async pipe usage
hippiehunter Mar 15, 2022
e7b7b8a
ignored path convention tests, added trace logging to bridge tester
hippiehunter Mar 15, 2022
c654949
ignore test blocked by odata lib
hippiehunter Mar 15, 2022
16969c8
fixed hub url
hippiehunter Mar 15, 2022
45b34ad
bumped revs and fixed nuspecs
hippiehunter Mar 16, 2022
7a8902b
match new nullcheck pattern in EF
hippiehunter Mar 16, 2022
ab16303
fixed dup item in nuspec
hippiehunter Mar 16, 2022
16fd0ea
fixed dup item in nuspec
hippiehunter Mar 16, 2022
7521920
bumped versions
hippiehunter Mar 21, 2022
84bfd1b
wip handle more known project fixups
hippiehunter Mar 31, 2022
064d339
worked through issues generating and upgrading known customer projects
hippiehunter Apr 8, 2022
35c669c
refactored WPF code to use data templates and binding rather than mes…
hippiehunter Apr 14, 2022
482150a
fixed race condition reading data from ssh pipe
hippiehunter May 2, 2022
7db45a4
AddDataStreamLoggingToException
AustinBurke-Synergex Jun 23, 2022
e2d1c5d
Fix stray stream lifetime and race conditions, Added tests for WSL
hippiehunter Jun 27, 2022
c87e2a5
put back assert in basic bridge test
hippiehunter Jun 27, 2022
7dd131f
Merge pull request #280 from Synergex/ErrorLoggingforJsonRpcHeaders
hippiehunter Jun 27, 2022
98ba7d4
Traditional bridge in memory logging reset (#288)
AustinBurke-Synergex Jul 29, 2022
d88d159
Added initial implementation of Terminal.GUI to CLI tool
hippiehunter Aug 26, 2022
1d2f6bd
make it easier to know what went wrong when opening a file
hippiehunter Aug 26, 2022
9bac82e
bumped dependencies
hippiehunter Aug 26, 2022
1f916f8
fixed misc template issues
hippiehunter Aug 26, 2022
d03a3df
fixed custom code to deal with running on linux
hippiehunter Aug 26, 2022
6f9706b
Merge branch 'net6' of https://github.com/Synergex/HarmonyCore into net6
hippiehunter Aug 26, 2022
04654ef
Merged customer and .NET6 related template changes back into the main…
SteveIves Aug 26, 2022
3194d9e
Merge branch 'net6' of https://github.com/Synergex/HarmonyCore into net6
hippiehunter Aug 26, 2022
bfb6a60
Merge branch 'master' into net6
hippiehunter Aug 26, 2022
941c227
put back lost changes from merge
hippiehunter Aug 26, 2022
a8d339c
fixed formatting, put back nuget package and added to nuspec
hippiehunter Aug 26, 2022
1640801
take advantage of CodeGen's direct support for net6
hippiehunter Aug 26, 2022
0c73859
bumped codegen target
hippiehunter Aug 27, 2022
146ea85
baked in version to help pipeline builds of the cli tool, bumped pack…
hippiehunter Aug 27, 2022
f8a71bc
checkout submodules automatically
hippiehunter Aug 27, 2022
71fd3c2
dont double build in the tests, pack the cli tool automatically
hippiehunter Aug 27, 2022
20f9513
dont include bitness in dotnet test and pack (they are any cpu)
hippiehunter Aug 27, 2022
6a72c54
tweak test runner
hippiehunter Aug 27, 2022
fefc686
tweak test runner
hippiehunter Aug 27, 2022
bdba925
tweak pack step
hippiehunter Aug 27, 2022
aa18dab
bumped rev and fixed load issue for interfaces
hippiehunter Aug 27, 2022
2248bd0
bumped codegen rev
hippiehunter Aug 28, 2022
76cd0d5
prevent incorrect nuget packages getting made in pipeline
hippiehunter Aug 28, 2022
e3b3598
removed unused project
hippiehunter Aug 28, 2022
ed0747d
bumped nuspec req and implemented initial support for managing projec…
hippiehunter Aug 28, 2022
a856def
bumped codegen target
hippiehunter Aug 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "CodeGen"]
path = CodeGen
url = https://github.com/Synergex/CodeGen.git
branch = hcnet6
60 changes: 60 additions & 0 deletions Application1/Application1.synproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)Common.props" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Configuration)' == '' ">x86</Platform>
<Name>Application1</Name>
<StartupObject>&lt;Synergy Main&gt;</StartupObject>
<OutputName>Application1</OutputName>
<ProjectGuid>{5fae2bb6-ba77-4204-a910-4ef4d801d7e0}</ProjectGuid>
<ProjectTypeGuids>{7B8CF543-378A-4EC1-BB1B-98E4DC6E6820};{BBD0F5D1-1CC4-42fd-BA4C-A96779C64378}</ProjectTypeGuids>
<OutputType>application</OutputType>
<DBL_qTrim>True</DBL_qTrim>
<DBL_qAlign>True</DBL_qAlign>
<EnableCommonProperties>True</EnableCommonProperties>
<CommonPropertiesFileLocation>$(SolutionDir)Common.props</CommonPropertiesFileLocation>
<RootNamespace>Application1</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<IncludeDebugInformation>true</IncludeDebugInformation>
<OutputPath>$(SolutionDir)\$(Configuration)\$(Platform)</OutputPath>
<UnevaluatedOutputPath>EXEDIR:</UnevaluatedOutputPath>
<PlatformTarget>x86</PlatformTarget>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<DebugOptimize>Debug</DebugOptimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<IncludeDebugInformation>true</IncludeDebugInformation>
<OutputPath>$(SolutionDir)\$(Configuration)\$(Platform)</OutputPath>
<UnevaluatedOutputPath>EXEDIR:</UnevaluatedOutputPath>
<PlatformTarget>x64</PlatformTarget>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<DebugOptimize>Debug</DebugOptimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<IncludeDebugInformation>true</IncludeDebugInformation>
<OutputPath>$(SolutionDir)\$(Configuration)\$(Platform)</OutputPath>
<UnevaluatedOutputPath>EXEDIR:</UnevaluatedOutputPath>
<PlatformTarget>x86</PlatformTarget>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<DebugOptimize>Optimize</DebugOptimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<IncludeDebugInformation>true</IncludeDebugInformation>
<OutputPath>$(SolutionDir)\$(Configuration)\$(Platform)</OutputPath>
<UnevaluatedOutputPath>EXEDIR:</UnevaluatedOutputPath>
<PlatformTarget>x64</PlatformTarget>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<DebugOptimize>Optimize</DebugOptimize>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.dbl" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Synergex\dbl\Synergex.SynergyDE.Traditional.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
1 change: 1 addition & 0 deletions CodeGen
Submodule CodeGen added at aa33d6
2 changes: 1 addition & 1 deletion DataGenerator/DataGenerator.synproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$(SolutionDir)Common.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
<DefaultLanguageSourceExtension>.dbl</DefaultLanguageSourceExtension>
<EnableDefaultItems>false</EnableDefaultItems>
<Name>DataGenerator</Name>
Expand Down
22 changes: 22 additions & 0 deletions Generators/Enabled/ODataGenerator.csx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

public class CustomODataGenerator : ODataGenerator
{
public override void ApplyDefaults(Solution solution)
{

}

public override List<string> ValidateSolution(Solution solution)
{
return new List<string>();
}

public override List<CodeGenTask> GenerateTasks(Solution solution)
{
var baseTasks = base.GenerateTasks(solution);
baseTasks.Add(StructureTaskHelper(solution, "Generate controller properties partial classes", solution.ControllersNamespace, solution.ControllersFolder, false, nameof(ODataGenerator), new string[] { "ODataControllerPropertyEndpoints" }, null));
return baseTasks;
}
}

new CustomODataGenerator()
11 changes: 9 additions & 2 deletions Harmony.AspNetCore/Context/IMultiTenantMiddleware.dbl
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,15 @@ namespace Harmony.AspNetCore.Context
public static extension method UseMultiTenancy, @IApplicationBuilder
builder, @IApplicationBuilder
identifier, @Func<HttpContext, string>
proc
builder.Use(lambda(context, next) { InvokeMiddleware(identifier, context, next) })
proc
lambda implementation(context, next)
begin
mreturn InvokeMiddleware(identifier, context, next)
end

data implementationInstance, @Func<HttpContext, Func<Task>, Task>, implementation

builder.Use(implementationInstance)
mreturn builder
endmethod
endclass
Expand Down
14 changes: 10 additions & 4 deletions Harmony.AspNetCore/Harmony.AspNetCore.synproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="restore;Build">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<DefaultLanguageSourceExtension>.dbl</DefaultLanguageSourceExtension>
<EnableDefaultItems>false</EnableDefaultItems>
<Name>Harmony.AspNetCore</Name>
Expand Down Expand Up @@ -39,9 +39,15 @@
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Synergex.SynergyDE.Build" Version="11.1.1070.3107" />
<PackageReference Include="Synergex.SynergyDE.synrnt" Version="11.1.1070" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
<PackageReference Include="Synergex.SynergyDE.Build">
<Version>22.8.1287</Version>
</PackageReference>
<PackageReference Include="Synergex.SynergyDE.synrnt">
<Version>12.1.1.3278</Version>
</PackageReference>
<PackageReference Include="System.ComponentModel.Annotations">
<Version>5.0.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Context\IContextMiddleware.dbl" />
Expand Down
4 changes: 2 additions & 2 deletions Harmony.Core.AspNetCore.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
</dependencies>
</metadata>
<files>
<file src="Harmony.AspNetCore\bin\Release\netcoreapp3.1\Harmony.AspNetCore.dll" target="lib\netcoreapp3.1\Harmony.AspNetCore.dll" />
<file src="Harmony.AspNetCore\bin\Release\netcoreapp3.1\Harmony.AspNetCore.pdb" target="lib\netcoreapp3.1\Harmony.AspNetCore.pdb" />
<file src="Harmony.AspNetCore\bin\Release\net6.0\Harmony.AspNetCore.dll" target="lib\net6.0\Harmony.AspNetCore.dll" />
<file src="Harmony.AspNetCore\bin\Release\net6.0\Harmony.AspNetCore.pdb" target="lib\net6.0\Harmony.AspNetCore.pdb" />
<file src="Harmony.AspNetCore\**\*.dbl" target="src\Harmony.AspNetCore\" />
</files>

Expand Down
236 changes: 236 additions & 0 deletions Harmony.Core.CodeGen.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
{
"CreatedWithToolVersion": "1.0",
"WrittenWithToolVersion": "1.0",
"RPSMFIL": "HarmonyCore.Test.Repository\\bin\\Debug\\rpsmain.ism",
"RPSTFIL": "HarmonyCore.Test.Repository\\bin\\Debug\\rpstext.ism",
"RepositoryProject": "HarmonyCore.Test.Repository\\HarmonyCore.Test.Repository.synproj",
"EnableNewtonsoftJson": true,
"TraditionalBridge": {
"XFServerSMCPath": "XfplEnvironment\\smc.xml"
},
"ServicesNamespace": "Services",
"ControllersNamespace": "Services.Controllers",
"ModelsNamespace": "Services.Models",
"ClientModelsNamespace": "Services.Test.Models",
"UnitTestsNamespace": "Services.Test.UnitTests",
"UnitTestsBaseNamespace": "Services.Test",
"SelfHostNamespace": "Services.Host",
"TraditionalBridgeNamespace": "TraditionalBridge",
"DataFolder": "SampleData",
"APIDocsPath": "api-docs",
"APITitle": "Harmony Core Sample API",
"APIVersion": "1",
"APIDescription": "This environment presents an example of using Harmony Core to expose a collection of RESTful Web Service endpoints that allow you to interact with a small sample dataset.",
"APITerms": "Open Source",
"APIContactName": "Jodah Veloper",
"APIContactEmail": "jodah.veloper@synergexpsg.com",
"APILicenseName": "BSD-2-Clause",
"APILicenseUrl": "https://opensource.org/licenses/BSD-2-Clause",
"APIEnableQueryParams": "(MaxExpansionDepth=4)",
"ServerName": "localhost",
"ServerHttpPort": "8085",
"ServerHttpsPort": "8086",
"ServerBasePath": "odata",
"OAuthServer": "http://localhost:5000",
"OAuthApi": "api1",
"OAuthClient": "ro.client",
"OAuthSecret": "CBF7EBE6-D46E-41A7-903B-766A280616C3",
"OAuthTestUser": "jodah",
"OAuthTestPassword": "P@ssw0rd",
"CustomAuthController": "Authentication",
"CustomAuthEndpointPath": "GetToken",
"CustomAuthUserName": "username",
"CustomAuthPassword": "password",
"SignalRPath": "/hub/radley",
"TemplatesFolder": "Templates",
"ServicesFolder": "Services",
"ControllersFolder": "Services.Controllers",
"ModelsFolder": "Services.Models",
"SelfHostFolder": "Services.Host",
"UnitTestFolder": "Services.Test",
"IsolatedFolder": "Isolated",
"TraditionalBridgeFolder": "TraditionalBridge",
"ServicesProject": "Services",
"ControllersProject": "Services.Controllers",
"ModelsProject": "Services.Models",
"SelfHostProject": "Services.Host",
"UnitTestProject": "Services.Test",
"IsolatedProject": "Isolated",
"TraditionalBridgeProject": "TraditionalBridge",
"FullCollectionEndpoints": true,
"PrimaryKeyEndpoints": true,
"AlternateKeyEndpoints": true,
"CollectionCountEndpoints": true,
"PutEndpoints": true,
"PostEndpoints": true,
"PatchEndpoints": true,
"DeleteEndpoints": true,
"ODataSelect": true,
"ODataFilter": true,
"ODataOrderBy": true,
"ODataTop": true,
"ODataSkip": true,
"ODataRelations": true,
"ODataRelationValidation": true,
"GenerateSelfHost": true,
"CreateTestFiles": true,
"GeneratePostmanTests": true,
"GenerateUnitTests": true,
"GenerateOData": true,
"AdapterRouting": true,
"StoredProcedureRouting": true,
"FieldOverlays": true,
"ExtendedStructures": [
{
"Name": "CUSTOMERS",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
],
"RelationsSpecs": [
{
"FromStructure": "CUSTOMERS",
"FromKey": "CUSTOMER_NUMBER",
"ToStructure": "ORDERS",
"ToKey": "CUSTOMER_NUMBER",
"RelationName": "CustomerOrders",
"RequiresMatch": false,
"ValidationMode": "None",
"BackRelation": "ORDERS-CUSTOMERS-CUSTOMER_NUMBER-CUSTOMER_NUMBER",
"RelationType": "D",
"CustomValidatorName": ""
},
{
"FromStructure": "CUSTOMERS",
"FromKey": "FAVORITE_ITEM",
"ToStructure": "ITEMS",
"ToKey": "ITEM_NUMBER",
"RelationName": "CustomerFavoriteItem",
"RequiresMatch": false,
"ValidationMode": "ValuePresent",
"BackRelation": "ITEMS-CUSTOMERS-ITEM_NUMBER-FAVORITE_ITEM",
"RelationType": "C",
"CustomValidatorName": ""
},
{
"FromStructure": "CUSTOMERS",
"FromKey": "CUSTOMER_NUMBER",
"ToStructure": "CUSTOMER_NOTES",
"ToKey": "CUSTOMER_NUMBER",
"RelationName": "CustomerNotes",
"RequiresMatch": false,
"ValidationMode": "None",
"BackRelation": "CUSTOMER_NOTES-CUSTOMERS-CUSTOMER_NUMBER-CUSTOMER_NUMBER",
"RelationType": "D",
"CustomValidatorName": ""
}
]
},
{
"Name": "CUSTOMER_NOTES",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "ITEMS",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "ORDERS",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "ORDER_ITEMS",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "VENDORS",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "CUSTOMER_EX",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "NONUNIQUEPK",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "DIFFERENTPK",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "TESTCAR",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "TESTCARLOT",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "TESTCAROWNER1",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "TESTCAROWNER2",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
},
{
"Name": "TESTCAROWNER3",
"EnabledGenerators": [
"ModelGenerator",
"ODataGenerator",
"EFCoreGenerator"
]
}
],
"ExtendedInterfaces": []
}
Loading