diff --git a/.gitignore b/.gitignore index 1ceed1dc6..956e8b966 100644 --- a/.gitignore +++ b/.gitignore @@ -183,6 +183,7 @@ PublishScripts/ # NuGet Packages *.nupkg +*.snupkg .packages/ # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* diff --git a/Directory.Build.props b/Directory.Build.props index 1f44703b7..a04edf867 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -26,10 +26,10 @@ - net8.0 - net9.0 - net8.0 - net9.0 + net10.0 + net10.0 + net10.0 + net10.0 net8.0 net8.0 diff --git a/Directory.Packages.props b/Directory.Packages.props index c4e17801f..8b371925b 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,7 +3,9 @@ - [9.0.0,9.0.999] + [10.0.0,10.0.999] + + true @@ -15,46 +17,48 @@ - + - - - - + + + + - - - - - - - - - + + + + + + + + + - + - + + + - - - - + + + + - - - - - - + + + + + + \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..74abe7682 --- /dev/null +++ b/Makefile @@ -0,0 +1,47 @@ +# Pomelo.EntityFrameworkCore.MySql + +SOLUTION := Pomelo.EFCore.MySql.sln +CONFIGURATION ?= Debug +PACKAGE_OUTPUT := artifacts/packages +SRC_PROJECTS := \ + src/EFCore.MySql/EFCore.MySql.csproj \ + src/EFCore.MySql.NTS/EFCore.MySql.NTS.csproj \ + src/EFCore.MySql.Json.Microsoft/EFCore.MySql.Json.Microsoft.csproj \ + src/EFCore.MySql.Json.Newtonsoft/EFCore.MySql.Json.Newtonsoft.csproj + +.DEFAULT_GOAL := help + +.PHONY: help restore build rebuild test functional-tests package clean + +help: ## List the available tasks (default) + @echo "Pomelo.EntityFrameworkCore.MySql -- available make tasks:" + @echo "" + @grep -hE '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}' + @echo "" + @echo "Override the build configuration with CONFIGURATION=Release (default: Debug)." + +restore: ## Restore NuGet dependencies for the solution + dotnet restore $(SOLUTION) + +build: ## Build the solution (CONFIGURATION=Debug|Release) + dotnet build $(SOLUTION) -c $(CONFIGURATION) + +rebuild: clean build ## Clean, then build the solution + +test: ## Run the unit tests (no database required) + dotnet test test/EFCore.MySql.Tests/EFCore.MySql.Tests.csproj -c $(CONFIGURATION) + +functional-tests: ## Run the functional tests (requires a configured config.json + database) + dotnet test test/EFCore.MySql.FunctionalTests/EFCore.MySql.FunctionalTests.csproj -c $(CONFIGURATION) + +package: ## Create the release NuGet packages in artifacts/packages + rm -rf $(PACKAGE_OUTPUT) + $(foreach proj,$(SRC_PROJECTS),dotnet pack $(proj) -c Release -o $(PACKAGE_OUTPUT) &&) true + @echo "" + @echo "Release packages created in $(PACKAGE_OUTPUT):" + @ls -1 $(PACKAGE_OUTPUT)/*.nupkg + +clean: ## Remove build outputs and generated packages + dotnet clean $(SOLUTION) -c $(CONFIGURATION) || true + rm -rf $(PACKAGE_OUTPUT) diff --git a/README.md b/README.md index 491626a00..962054618 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,8 @@ The following versions of MySqlConnector, EF Core, .NET (Core), .NET Standard an Release | Branch | MySqlConnector | EF Core | .NET (Core) | .NET Standard | .NET Framework --- |--------------------------------------------------------------------------------------------------|--------------------|:-------:|:-----------:| :---: | :---: -[9.0.0](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/9.0.0) | [main](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/main) | >= 2.4.0 | 9.0.x | 8.0+ | - | - +[10.0.0](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/10.0.0) | [main](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/main) | >= 2.4.0 | 10.0.x | 10.0+ | - | - +[9.0.0](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/9.0.0) | [9.0-maint](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/9.0-maint) | >= 2.4.0 | 9.0.x | 8.0+ | - | - [8.0.3](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/8.0.3) | [8.0-maint](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/8.0-maint) | >= 2.3.5 | 8.0.x | 8.0+ | - | - [7.0.0](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/7.0.0) | [7.0-maint](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/7.0-maint) | >= 2.2.5 | 7.0.x | 6.0+ | - | - [6.0.3](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/6.0.3) | [6.0-maint](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/tree/6.0-maint) | >= 2.1.2 | 6.0.x | 6.0+ | - | - @@ -49,6 +50,7 @@ Currently tested versions are: Milestone | Status | Release Date ----------|----------|------------- +10.0.0 | In Progress | - 9.0.0 | Released | 2025-08-17 8.0.3 | Released | 2025-03-02 7.0.0 | Released | 2023-01-16 @@ -95,7 +97,7 @@ All `.pdb` files use Source Link. Ensure that your `.csproj` file contains the following reference: ```xml - + ``` ### 2. Services Configuration diff --git a/Version.props b/Version.props index 90e3fc0d5..9b4e37dc4 100644 --- a/Version.props +++ b/Version.props @@ -10,9 +10,9 @@ We also used alpha/beta/silver release types in the past, but they mix poorly with the ones above when orderend according to SemVer2 rules. --> - 9.0.1 - servicing - 1 + 10.0.0 + rtm + 3