From 93621240571814510ff6714a73a8e260018c3397 Mon Sep 17 00:00:00 2001 From: "Thea Camille-Maxime (MaxRev)" Date: Tue, 2 May 2023 18:14:06 +0300 Subject: [PATCH] Release 3.6.3 (#99) * Upgrade to GDAL 3.6.3 * Compiled Linux build * Remove package references * Update workflow --- .github/workflows/main.yml | 9 +++++++-- README.md | 6 +++--- gdalcore.linuxruntime.csproj | 6 +++--- gdalcore.loader.csproj | 6 +++--- gdalcore.windowsruntime.csproj | 6 +++--- nuget.config | 1 - shared/GdalCore.opt | 2 +- .../MaxRev.Gdal.Core.Tests.AzureFunctions.csproj | 4 +--- .../MaxRev.Gdal.Core.Tests.XUnit.csproj | 5 +++-- .../MaxRev.Gdal.Core.Tests.csproj | 4 +--- unix/GNUmakefile | 2 +- unix/gdal-makefile | 4 ++++ unix/test-makefile | 10 ++++++++-- win/test-makefile.vc | 10 ++++++---- 14 files changed, 44 insertions(+), 31 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d3fce996d..680eca5ae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,6 +36,11 @@ jobs: dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - name: Run tests from nuget packages + env: + TEST_PROJECT: tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj run: | - dotnet restore --ignore-failed-sources tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj - dotnet test --no-restore tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj \ No newline at end of file + dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} + dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core + dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.LinuxRuntime.Minimal + dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.WindowsRuntime.Minimal + dotnet test --no-restore ${{ env.TEST_PROJECT }} \ No newline at end of file diff --git a/README.md b/README.md index 7d4d389bb..7301b1527 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # gdal.netcore [![Mentioned in Awesome Geospatial](https://awesome.re/mentioned-badge.svg)](https://github.com/sacridini/Awesome-Geospatial) ![Packages CI](https://github.com/MaxRev-Dev/gdal.netcore/workflows/CI/badge.svg?branch=master) -A simple (as is) build engine of [GDAL](https://gdal.org/) 3.6.2 library for [.NET](https://dotnet.microsoft.com/download). +A simple (as is) build engine of [GDAL](https://gdal.org/) 3.6.3 library for [.NET](https://dotnet.microsoft.com/download). ## Packages @@ -93,7 +93,7 @@ Detailed guide is here - [unix](unix/). ## About build configuration -The current version targets **GDAL 3.6.2** with **minimal drivers**. What stands for 'minimal' - drivers that require no additional dependencies (mainly boost). For example, `MySQL` driver is not included, because it requires 15+ boost deps. Same goes for `Poppler` driver. They can be packaged upon request. +The current version targets **GDAL 3.6.3** with **minimal drivers**. What stands for 'minimal' - drivers that require no additional dependencies (mainly boost). For example, `MySQL` driver is not included, because it requires 15+ boost deps. Same goes for `Poppler` driver. They can be packaged upon request. Drivers included PROJ(9.2.0), GEOS(3.11.1), and more than 200 other drivers. To view full list of drivers, To view the complete list of drivers, you can view the full list with GDAL's API or see property `DriversInCurrentVersion` [here](tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs). @@ -102,7 +102,7 @@ To view full list of drivers, To view the complete list of drivers, you can view ## Building runtime libraries -Current version is targeting **GDAL 3.6.2** version. Each runtime has to be build separately, but this can be done concurrently as they are using different contexts (build folders). Primary operating bindings (in gdal.core package) are build from **windows**. +Current version is targeting **GDAL 3.6.3** version. Each runtime has to be build separately, but this can be done concurrently as they are using different contexts (build folders). Primary operating bindings (in gdal.core package) are build from **windows**. To make everything work smoothly, each configuration targets the same drivers and their versions, respectively. diff --git a/gdalcore.linuxruntime.csproj b/gdalcore.linuxruntime.csproj index 855614a89..a501734b4 100644 --- a/gdalcore.linuxruntime.csproj +++ b/gdalcore.linuxruntime.csproj @@ -13,15 +13,15 @@ git README.md https://github.com/MaxRev-Dev/gdal.netcore - 3.6.2.200 - GDAL (3.6.2) minimal libraries package. + 3.6.3.100 + GDAL (3.6.3) minimal libraries package. Drivers included PROJ (9.2.0), GEOS (3.11.1), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5 Targets linux-x64 runtime. Target Frameworks: netstandard[2.1|2.0], netcoreapp[2.1,3.1], net6.0, net7.0 MaxRev.Gdal.LinuxRuntime.Minimal - Bug fix release. -- GDAL 3.6.2 +- GDAL 3.6.3 - targets .NET6 LTS, .NET7 - PROJ 9.2.0 diff --git a/gdalcore.loader.csproj b/gdalcore.loader.csproj index fb062da21..10ca1e0ec 100644 --- a/gdalcore.loader.csproj +++ b/gdalcore.loader.csproj @@ -16,16 +16,16 @@ git 10.0 https://github.com/MaxRev-Dev/gdal.netcore - 3.6.2.200 + 3.6.3.100 - GDAL (3.6.2) bindings for dotnet core (now linux-x64 and win-x64). + GDAL (3.6.3) bindings for dotnet core (now linux-x64 and win-x64). Bridge between gdal and netcore. Use dependency package for target runtime to get drivers. Works in docker containers without pkg installations!! Just call - GdalBase.ConfigureAll() - - GDAL Version 3.6.2 + - GDAL Version 3.6.3 - Built with VCPKG diff --git a/gdalcore.windowsruntime.csproj b/gdalcore.windowsruntime.csproj index f269e94fe..ac5b38625 100644 --- a/gdalcore.windowsruntime.csproj +++ b/gdalcore.windowsruntime.csproj @@ -13,14 +13,14 @@ git README.md https://github.com/MaxRev-Dev/gdal.netcore - 3.6.2.200 - GDAL (3.6.2) minimal libraries package. + 3.6.3.100 + GDAL (3.6.3) minimal libraries package. Drivers included PROJ (9.2.0), GEOS (3.11.1), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5 Targets win-x64 runtime. Target Frameworks: netstandard[2.1|2.0], netcoreapp[2.1,3.1], net6.0, net7.0 MaxRev.Gdal.WindowsRuntime.Minimal -- GDAL 3.6.2 +- GDAL 3.6.3 - targets .NET6 LTS, .NET7 - PROJ 9.2.0 diff --git a/nuget.config b/nuget.config index de9cb717f..e68546335 100644 --- a/nuget.config +++ b/nuget.config @@ -3,7 +3,6 @@ - diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index e594f66a5..46f56c1bb 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -10,7 +10,7 @@ BUILD_ROOT=$(ROOTDIR_)/build-$(BASE_RUNTIME_RID) GDAL_ROOT=$(BUILD_ROOT)/gdal-source GDAL_REPO=https://github.com/OSGeo/gdal.git -GDAL_COMMIT_VER=tags/v3.6.2 # Jan 2, 2023 +GDAL_COMMIT_VER=tags/v3.6.3 # Apr 21, 2023 PROJ_ROOT=$(BUILD_ROOT)/proj-source PROJ_REPO=https://github.com/OSGeo/PROJ.git diff --git a/tests/MaxRev.Gdal.Core.Tests.AzureFunctions/MaxRev.Gdal.Core.Tests.AzureFunctions.csproj b/tests/MaxRev.Gdal.Core.Tests.AzureFunctions/MaxRev.Gdal.Core.Tests.AzureFunctions.csproj index d45e7ae08..1f04d6fef 100644 --- a/tests/MaxRev.Gdal.Core.Tests.AzureFunctions/MaxRev.Gdal.Core.Tests.AzureFunctions.csproj +++ b/tests/MaxRev.Gdal.Core.Tests.AzureFunctions/MaxRev.Gdal.Core.Tests.AzureFunctions.csproj @@ -7,9 +7,7 @@ <_FunctionsSkipCleanOutput>true - - - + diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj b/tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj index 13010df42..844f6a9fb 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj @@ -8,8 +8,9 @@ x64 - - + + + diff --git a/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj b/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj index 362a79a3a..6b47b85a1 100644 --- a/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj +++ b/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj @@ -9,9 +9,7 @@ MaxRev.Gdal.Core.Tests - - - + \ No newline at end of file diff --git a/unix/GNUmakefile b/unix/GNUmakefile index 474e7eee8..e974ab4c9 100644 --- a/unix/GNUmakefile +++ b/unix/GNUmakefile @@ -6,7 +6,7 @@ all: @$(MAKE) -f vcpkg-makefile || exit 1 # install main libraries (proj,gdal) - @$(MAKE) -f gdal-makefile || exit 1 + @$(MAKE) -f gdal-makefile proj-force gdal-force || exit 1 # collect dynamic libraries @$(MAKE) -f collect-deps-makefile || exit 1 diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 1637630f3..f703f28a9 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -94,6 +94,10 @@ configure_gdal: -DGDAL_USE_DEFLATE=OFF \ -DGDAL_USE_ZLIB_INTERNAL=ON \ -DBUILD_APPS=OFF \ + -DGDAL_CSHARP_APPS=OFF \ + -DGDAL_CSHARP_TESTS=OFF \ + -DGDAL_CSHARP_BUILD_NUPKG=OFF \ + -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_CSHARP_BINDINGS=ON \ -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ diff --git a/unix/test-makefile b/unix/test-makefile index 768bc89e0..1c6573a80 100644 --- a/unix/test-makefile +++ b/unix/test-makefile @@ -15,12 +15,18 @@ TEST_TARGET=$(TEST_DIR_APP) APP_RUN_TARGET=dotnet run endif +MISSING_PACKAGES=MaxRev.Gdal.OsxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Minimal + all: test ### Testing linux libraries (from nuget build output) test-restore: - -@cd $(TEST_TARGET) && dotnet remove package "MaxRev.Gdal.WindowsRuntime.Minimal" - -@cd $(TEST_TARGET) && dotnet remove package "MaxRev.Gdal.OsxRuntime.Minimal" +# remove other packages as they don't exist in the local source + -@for v in $(MISSING_PACKAGES); do \ + cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests.AzureFunctions" && dotnet remove package $$v &> /dev/null; \ + cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests" && dotnet remove package $$v &> /dev/null; \ + done; + -@cd $(TEST_TARGET) && \ dotnet restore --force -s "$(NUGET_)" -s "https://api.nuget.org/v3/index.json" --ignore-failed-sources diff --git a/win/test-makefile.vc b/win/test-makefile.vc index 7b04e1ed1..4253cb51d 100644 --- a/win/test-makefile.vc +++ b/win/test-makefile.vc @@ -15,18 +15,20 @@ all: test test-restore: -cd $(TEST_DIR) - dotnet restore -s "https://api.nuget.org/v3/index.json" -s $(NUGET_) + -cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests.AzureFunctions" && dotnet remove package MaxRev.Gdal.LinuxRuntime.Minimal + -cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests" && dotnet remove package MaxRev.Gdal.LinuxRuntime.Minimal + -dotnet restore -s "https://api.nuget.org/v3/index.json" -s $(NUGET_) --ignore-failed-sources -cd $(MAKEDIR) test-update: -cd $(TEST_DIR) - dotnet add package MaxRev.Gdal.WindowsRuntime.Minimal -s $(NUGET_) $(PRE_RELEASE_ARG) - dotnet add package MaxRev.Gdal.Core -s $(NUGET_) $(PRE_RELEASE_ARG) + -dotnet add package MaxRev.Gdal.WindowsRuntime.Minimal -s $(NUGET_) $(PRE_RELEASE_ARG) + -dotnet add package MaxRev.Gdal.Core -s $(NUGET_) $(PRE_RELEASE_ARG) -cd $(MAKEDIR) test-only: test-restore -cd $(TEST_DIR) - dotnet test + dotnet test --no-restore -cd $(MAKEDIR) test: test-restore test-update test-only