From c0b761c0062b0b0e83464b210b545ef9ce9eef90 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 14 May 2024 17:29:33 +0300 Subject: [PATCH 001/137] Update gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index db0b98e69..a0229ad55 100644 --- a/.gitignore +++ b/.gitignore @@ -27,8 +27,8 @@ ci/cache/ utf8-data/** !tests/**/*.cs !compile/*.* -package-build/** -shared/bundle/targets/** +package-build/ +shared/bundle/targets/ # Created by https://www.toptal.com/developers/gitignore/api/macos,linux,visualstudio,visualstudiocode,windows # Edit at https://www.toptal.com/developers/gitignore?templates=macos,linux,visualstudio,visualstudiocode,windows From 6818a323664ba6f3f97b91f8b2e827187ca9e7ce Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 14 May 2024 17:33:28 +0300 Subject: [PATCH 002/137] Bump versions --- shared/GdalCore.opt | 10 +++++----- .../MaxRev.Gdal.Core.Tests.AzureFunctions.csproj | 2 +- .../MaxRev.Gdal.Core.Tests.XUnit.csproj | 2 +- .../MaxRev.Gdal.Core.Tests.csproj | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 86818feee..f4d9b9d70 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -9,14 +9,14 @@ BUILD_NUMBER_TAIL=100 ### build (drivers) root BUILD_ROOT=$(ROOTDIR_)/build-$(BASE_RUNTIME_RID) -# Jan 8, 2024 -GDAL_VERSION=3.8.3 +# May 10, 2024 +GDAL_VERSION=3.9.0 GDAL_ROOT=$(BUILD_ROOT)/gdal-source GDAL_REPO=https://github.com/OSGeo/gdal.git GDAL_COMMIT_VER=v$(GDAL_VERSION) -# Dec 1, 2023 -PROJ_VERSION=9.3.1 +# Mar 1, 2024 +PROJ_VERSION=9.4.0 PROJ_ROOT=$(BUILD_ROOT)/proj-source PROJ_REPO=https://github.com/OSGeo/PROJ.git PROJ_COMMIT_VER=$(PROJ_VERSION) @@ -25,7 +25,7 @@ PROJ_COMMIT_VER=$(PROJ_VERSION) VCPKG_ROOT=$(BUILD_ROOT)/vcpkg VCPKG_REPO=https://github.com/microsoft/vcpkg.git -VCPKG_COMMIT_VER=2024.01.12 +VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl 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 f5a71bc1f..0aee33615 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,7 +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 624f2ca55..2e3bf9b77 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 @@ -7,7 +7,7 @@ x64;arm64 - + 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 97eebe0de..b5b77acc4 100644 --- a/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj +++ b/tests/MaxRev.Gdal.Core.Tests/MaxRev.Gdal.Core.Tests.csproj @@ -8,7 +8,7 @@ MaxRev.Gdal.Core.Tests - + \ No newline at end of file From 4c2722a4c52469a5874416cf1d6a6569b4c96ca8 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 15 May 2024 20:49:44 +0300 Subject: [PATCH 003/137] Replace macos runners with GH-hosted --- .github/workflows/macos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c03f8aced..60f582416 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,11 +22,11 @@ jobs: BuildNugetPackages-MacOS: strategy: matrix: - os: [self-hosted-macos-arm64,self-hosted-macos-x64] + os: [macos-14,macos-13] include: - - os: self-hosted-macos-arm64 + - os: macos-14 arch: arm64 - - os: self-hosted-macos-x64 + - os: macos-13 arch: x64 runs-on: ${{ matrix.os }} From 19a03de44d0964502dcf602a01b109cb63395241 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 20 May 2024 23:23:07 +0300 Subject: [PATCH 004/137] venv for cmake in remote runners --- .github/workflows/macos.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 60f582416..a34844edb 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -53,6 +53,12 @@ jobs: id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master + - name: Activate virtualenv + run: | + python3 -m venv .venv + . .venv/bin/activate + echo PATH=$PATH >> $GITHUB_ENV + - name: Install CMake run: | python3 -m pip install cmake From 17113af4779837095a25c199fc43dab5e1bd3225 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 20 May 2024 23:30:09 +0300 Subject: [PATCH 005/137] venv for cmake in remote runners no.2 --- .github/workflows/macos.yml | 8 +------- osx/before-install.sh | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a34844edb..086a546c9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -53,15 +53,9 @@ jobs: id: set-up-homebrew uses: Homebrew/actions/setup-homebrew@master - - name: Activate virtualenv - run: | - python3 -m venv .venv - . .venv/bin/activate - echo PATH=$PATH >> $GITHUB_ENV - - name: Install CMake run: | - python3 -m pip install cmake + pipx install cmake - name: Setup .NET Core SDK diff --git a/osx/before-install.sh b/osx/before-install.sh index 0f4c1b932..0c5979849 100755 --- a/osx/before-install.sh +++ b/osx/before-install.sh @@ -3,4 +3,4 @@ set -e brew install make pkg-config autoconf automake \ - autoconf-archive swig libtool dylibbundler gsed python3 \ No newline at end of file + autoconf-archive swig libtool dylibbundler gsed python3 pipx \ No newline at end of file From dfa52a77a55195648cd5f28f4fb86a8077beb6ee Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 01:48:48 +0300 Subject: [PATCH 006/137] Trying to fix proj package --- osx/gdal-makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index c2c50be75..1ae2936e7 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -141,6 +141,7 @@ configure_gdal: -DJXL_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libjxl.dylib \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ + -DGDAL_FIND_PACKAGE_PROJ_MODE=CONFIG \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 @echo "$(TO) GDAL was configured!" From 0d881db5fbd0205bf074149a96ffea2e98a80fcf Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 14:02:31 +0300 Subject: [PATCH 007/137] Update functions --- win/functions.psm1 | 2 +- win/install.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 8bada9285..4c0f8061f 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -154,7 +154,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Command "swig")) { - exec { cinst -y --no-progress --force swig } + exec { choco install -y --no-progress --force swig } } } diff --git a/win/install.ps1 b/win/install.ps1 index 0750ed504..e48120fbe 100644 --- a/win/install.ps1 +++ b/win/install.ps1 @@ -26,7 +26,7 @@ try { # check if 'GNU make' is available if (!(Get-Command make -ErrorAction SilentlyContinue)) { - exec { cinst -y --no-progress --force make } + exec { choco install -y --no-progress --force make } Write-Information "GNUmake was installed" } From b08dc594d91d5b71e8906f010e4d7a149fa97436 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 14:04:42 +0300 Subject: [PATCH 008/137] Update driver list --- tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs index be7cc9324..423861078 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs @@ -100,7 +100,7 @@ public static IEnumerable DriversInCurrentVersion { return new[] { - "AAIGrid","ACE2","ADRG","AIG","AirSAR","AmigoCloud","ARG", + "AAIGrid","ACE2","ADRG","AIG","AirSAR","AmigoCloud", "AVCBin","AVCE00","BAG","BIGGIF","BLX","BMP","BSB","BT", "BYN","CAD","CALS","Carto","CEOS","COASP","COG","COSAR", "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", From 70100f144710c2afbb3b2455058593df461bc5e9 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 14:44:59 +0300 Subject: [PATCH 009/137] Updates --- osx/gdal-makefile | 2 +- win/install.ps1 | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 1ae2936e7..57e67ecf6 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -141,7 +141,7 @@ configure_gdal: -DJXL_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libjxl.dylib \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ - -DGDAL_FIND_PACKAGE_PROJ_MODE=CONFIG \ + -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 @echo "$(TO) GDAL was configured!" diff --git a/win/install.ps1 b/win/install.ps1 index e48120fbe..0fe34e560 100644 --- a/win/install.ps1 +++ b/win/install.ps1 @@ -25,6 +25,12 @@ try { # $VerbosePreference = Continue # check if 'GNU make' is available + if (!(Get-Command choco -ErrorAction SilentlyContinue)) { + exec { Set-ExecutionPolicy Bypass -Scope Process -Force; ` + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; ` + iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) } + } + if (!(Get-Command make -ErrorAction SilentlyContinue)) { exec { choco install -y --no-progress --force make } Write-Information "GNUmake was installed" From d39e4870baac890adaa16e573f29b95fe5ee6622 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 15:01:35 +0300 Subject: [PATCH 010/137] Updates --- win/functions.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 4c0f8061f..50a56ae57 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -129,7 +129,7 @@ function Reset-PsSession { function Install-PwshModuleRequirements { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - if (!(Get-PackageProvider -Name "NuGet")) { + if (!(Get-PackageProvider -Name "NuGet" -Force)) { Import-PackageProvider NuGet -Scope CurrentUser } From 47e6bfb18d9969f02d217b4b9406604522bac0e4 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 15:14:06 +0300 Subject: [PATCH 011/137] Updates --- win/functions.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 50a56ae57..eae576897 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -142,7 +142,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Module -Name "Pscx")) { - Install-Module -Name Pscx -RequiredVersion '4.0.0-beta4' -AllowClobber -AllowPrerelease -Scope CurrentUser -Force + Install-Module -Name Pscx -AllowClobber -AllowPrerelease -Scope CurrentUser -Force } if (!(Get-Command "Invoke-WebRequest")) { From acc2ab84944dc6448f439e76d58973dfc30929b6 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 16:56:55 +0300 Subject: [PATCH 012/137] Updates --- .github/workflows/macos.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 086a546c9..4e184ec36 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -112,13 +112,15 @@ jobs: TestPackages-MacOS: strategy: matrix: - os: [self-hosted-macos-arm64,self-hosted-macos-x64,macos-latest] + os: [self-hosted-macos-arm64,self-hosted-macos-x64, macos-13, macos-14] include: - os: self-hosted-macos-arm64 arch: arm64 - os: self-hosted-macos-x64 arch: x64 - - os: macos-latest + - os: macos-14 + arch: arm64 + - os: macos-13 arch: x64 needs: BuildNugetPackages-MacOS From f5d7be18a1049be177a216ae245abacd3d14b1c9 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 18:44:17 +0300 Subject: [PATCH 013/137] Updates --- win/functions.psm1 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index eae576897..360de1ac0 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -129,31 +129,31 @@ function Reset-PsSession { function Install-PwshModuleRequirements { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - if (!(Get-PackageProvider -Name "NuGet" -Force)) { + if (!(Get-PackageProvider -Name "NuGet" -Force -ErrorAction SilentlyContinue)) { Import-PackageProvider NuGet -Scope CurrentUser } - if (!(Get-PSRepository -Name "PSGallery")) { + if (!(Get-PSRepository -Name "PSGallery" -ErrorAction SilentlyContinue)) { Set-PSRepository -Name PSGallery -InstallationPolicy Trusted } - if (!(Get-Module -Name "VSSetup")) { + if (!(Get-Module -Name "VSSetup" -ErrorAction SilentlyContinue)) { Install-Module -Name VSSetup -RequiredVersion 2.2.5 -Scope CurrentUser -Force } - if (!(Get-Module -Name "Pscx")) { + if (!(Get-Module -Name "Pscx" -ErrorAction SilentlyContinue)) { Install-Module -Name Pscx -AllowClobber -AllowPrerelease -Scope CurrentUser -Force } - if (!(Get-Command "Invoke-WebRequest")) { + if (!(Get-Command "Invoke-WebRequest" -ErrorAction SilentlyContinue)) { Install-Module -Name WebKitDev -RequiredVersion 0.4.0 -Force -Scope CurrentUser } - if (!(Get-Command "choco")) { + if (!(Get-Command "choco" -ErrorAction SilentlyContinue)) { Install-Module -Name Choco -Scope CurrentUser -Force } - if (!(Get-Command "swig")) { + if (!(Get-Command "swig" -ErrorAction SilentlyContinue)) { exec { choco install -y --no-progress --force swig } } } From 8d36ff116e2ea4fc20b294f2602dc1663db2966a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 21:13:40 +0300 Subject: [PATCH 014/137] Updates --- win/functions.psm1 | 16 ++++++++++++++++ win/install.ps1 | 12 ------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 360de1ac0..8921c054d 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -128,6 +128,22 @@ function Reset-PsSession { function Install-PwshModuleRequirements { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + + if (!(Get-Command choco -ErrorAction SilentlyContinue)) { + exec { Set-ExecutionPolicy Bypass -Scope Process -Force; ` + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; ` + iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) } + } + + if (!(Get-Command make -ErrorAction SilentlyContinue)) { + exec { choco install -y --no-progress --force make } + Write-Information "GNUmake was installed" + } + + if (!(Get-Command cmake -ErrorAction SilentlyContinue)) { + exec { choco install -y --no-progress --force cmake } + Write-Information "CMake was installed" + } if (!(Get-PackageProvider -Name "NuGet" -Force -ErrorAction SilentlyContinue)) { Import-PackageProvider NuGet -Scope CurrentUser diff --git a/win/install.ps1 b/win/install.ps1 index 0fe34e560..0a22540f8 100644 --- a/win/install.ps1 +++ b/win/install.ps1 @@ -23,18 +23,6 @@ try { $ErrorActionPreference = 'Stop' # $ConfirmPreference = 'Low' # $VerbosePreference = Continue - - # check if 'GNU make' is available - if (!(Get-Command choco -ErrorAction SilentlyContinue)) { - exec { Set-ExecutionPolicy Bypass -Scope Process -Force; ` - [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; ` - iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) } - } - - if (!(Get-Command make -ErrorAction SilentlyContinue)) { - exec { choco install -y --no-progress --force make } - Write-Information "GNUmake was installed" - } Install-PwshModuleRequirements From 794e7ff87570703a5ff4bf54ee143a36137d241b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 21:24:45 +0300 Subject: [PATCH 015/137] Updates --- win/functions.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 8921c054d..a27f5aea9 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -141,7 +141,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Command cmake -ErrorAction SilentlyContinue)) { - exec { choco install -y --no-progress --force cmake } + exec { choco install -y --no-progress --force cmake --installargs 'ADD_CMAKE_TO_PATH=System' } Write-Information "CMake was installed" } From 0d121f4a70887a65561ac4ca9fabbf399545e4a6 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 21:40:10 +0300 Subject: [PATCH 016/137] Updates --- win/functions.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index a27f5aea9..4d28deed3 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -141,7 +141,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Command cmake -ErrorAction SilentlyContinue)) { - exec { choco install -y --no-progress --force cmake --installargs 'ADD_CMAKE_TO_PATH=System' } + exec { choco install cmake.install -y --no-progress --installargs '"ADD_CMAKE_TO_PATH=User"' } Write-Information "CMake was installed" } From 5ea7c9e7a196f2e2b0b6ce5ad39d2b12e4d6b429 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 22:26:00 +0300 Subject: [PATCH 017/137] Updates --- .github/workflows/unix.yml | 8 ++++---- win/functions.psm1 | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 33f2734b9..9d3f665ff 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -28,10 +28,10 @@ jobs: include: - os: linux/amd64 arch: x64 - actions-runner: self-hosted-macos-x64 - - os: linux/arm64 - arch: arm64 - actions-runner: self-hosted-macos-arm64 + actions-runner: ubuntu-latest + # - os: linux/arm64 + # arch: arm64 + # actions-runner: self-hosted-macos-arm64 runs-on: ${{ matrix.actions-runner }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" diff --git a/win/functions.psm1 b/win/functions.psm1 index 4d28deed3..134476e9d 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -141,7 +141,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Command cmake -ErrorAction SilentlyContinue)) { - exec { choco install cmake.install -y --no-progress --installargs '"ADD_CMAKE_TO_PATH=User"' } + exec { choco install cmake.install --force -y --no-progress --installargs '"ADD_CMAKE_TO_PATH=User"' } Write-Information "CMake was installed" } From 56bb88c5fc8c267542b2caf1bec7ad7b78b787ec Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 22:26:28 +0300 Subject: [PATCH 018/137] Updates --- win/functions.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/functions.psm1 b/win/functions.psm1 index 134476e9d..18ba2337c 100644 --- a/win/functions.psm1 +++ b/win/functions.psm1 @@ -141,7 +141,7 @@ function Install-PwshModuleRequirements { } if (!(Get-Command cmake -ErrorAction SilentlyContinue)) { - exec { choco install cmake.install --force -y --no-progress --installargs '"ADD_CMAKE_TO_PATH=User"' } + exec { choco install cmake.install --force -y --no-progress --installargs '"ADD_CMAKE_TO_PATH=System"' } Write-Information "CMake was installed" } From b3b719e63eed4849037cd7d0713c9bf0c56504da Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 21 May 2024 22:42:57 +0300 Subject: [PATCH 019/137] Updates --- ci/Dockerfile.unix | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/Dockerfile.unix b/ci/Dockerfile.unix index b221fea28..666ac60a3 100644 --- a/ci/Dockerfile.unix +++ b/ci/Dockerfile.unix @@ -58,6 +58,7 @@ RUN echo "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1" >> /tmp/gdal-netcore-env; FROM --platform=$TARGETPLATFORM base as gdalbuild WORKDIR /build/unix ARG VCPKG_DEFAULT_BINARY_CACHE=/build/ci/cache/vcpkg-archives/ +RUN mkdir -p $VCPKG_DEFAULT_BINARY_CACHE COPY --from=base /tmp/gdal-netcore-env /tmp/gdal-netcore-env COPY --from=base /tmp/gdal-netcore-arch /tmp/gdal-netcore-arch COPY shared/GdalCore.opt /build/shared/ From 105bf7987aa254f3cf89bda4c5b0ccc108932e3a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 22 May 2024 00:59:23 +0300 Subject: [PATCH 020/137] Updates --- .github/workflows/windows.yml | 4 ++-- osx/gdal-makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a8d751cfa..df988d750 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -21,7 +21,7 @@ jobs: BuildNugetPackages-Windows: strategy: matrix: - os: [self-hosted-win-x64] + os: [windows-latest] runs-on: ${{ matrix.os }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" @@ -73,7 +73,7 @@ jobs: TestPackages-Windows: strategy: matrix: - os: [self-hosted-win-x64] + os: [windows-latest] needs: BuildNugetPackages-Windows runs-on: ${{ matrix.os }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 57e67ecf6..bfed0c94b 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -163,8 +163,8 @@ configure_proj: -DENABLE_CURL=ON -DENABLE_TIFF=ON \ -DTIFF_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ -DEXE_SQLITE3="$(VCPKG_INSTALLED)/tools/sqlite3" \ - -DSQLITE3_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ - -DSQLITE3_LIBRARY="$(VCPKG_INSTALLED)/lib/libsqlite3.a" \ + -SQLite3_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ + -SQLite3_LIBRARY="$(VCPKG_INSTALLED)/lib/libsqlite3.a" \ -DTIFF_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libtiff.dylib" \ -DCMAKE_PREFIX_PATH="$(VCPKG_INSTALLED_DYNAMIC)" \ || exit 1 From 9e848e207da6cd80f6d3d6a4cb725a299ccc296a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 22 May 2024 01:09:15 +0300 Subject: [PATCH 021/137] Updates --- osx/gdal-makefile | 4 ++-- unix/gdal-makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index bfed0c94b..73793f094 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -163,8 +163,8 @@ configure_proj: -DENABLE_CURL=ON -DENABLE_TIFF=ON \ -DTIFF_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ -DEXE_SQLITE3="$(VCPKG_INSTALLED)/tools/sqlite3" \ - -SQLite3_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ - -SQLite3_LIBRARY="$(VCPKG_INSTALLED)/lib/libsqlite3.a" \ + -DSQLite3_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ + -DSQLite3_LIBRARY="$(VCPKG_INSTALLED)/lib/libsqlite3.a" \ -DTIFF_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libtiff.dylib" \ -DCMAKE_PREFIX_PATH="$(VCPKG_INSTALLED_DYNAMIC)" \ || exit 1 diff --git a/unix/gdal-makefile b/unix/gdal-makefile index f619e7ec2..be4f7e009 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -155,8 +155,8 @@ configure_proj: -DBUILD_SHARED_LIBS=ON \ -DENABLE_CURL=ON -DENABLE_TIFF=ON \ -DEXE_SQLITE3="$(VCPKG_INSTALLED_DYNAMIC)/tools/sqlite3" \ - -DSQLITE3_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ - -DSQLITE3_LIBRARY="$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.so" \ + -DSQLite3_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ + -DSQLite3_LIBRARY="$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.so" \ -DTIFF_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ -DTIFF_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libtiff.so" \ -DCURL_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ From d8e07ccc0227deac042eee6d77733b38c7044876 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 22 May 2024 02:43:13 +0300 Subject: [PATCH 022/137] Updates --- .github/workflows/macos.yml | 10 +++++----- .github/workflows/unix.yml | 12 ++++++------ win/partials.psm1 | 1 + 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4e184ec36..b59a22f7d 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -114,10 +114,10 @@ jobs: matrix: os: [self-hosted-macos-arm64,self-hosted-macos-x64, macos-13, macos-14] include: - - os: self-hosted-macos-arm64 - arch: arm64 - - os: self-hosted-macos-x64 - arch: x64 + # - os: self-hosted-macos-arm64 + # arch: arm64 + # - os: self-hosted-macos-x64 + # arch: x64 - os: macos-14 arch: arm64 - os: macos-13 @@ -190,7 +190,7 @@ jobs: dotnet nuget remove source local || true dotnet nuget remove source local.ci || true dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config - + - name: Build bundle run: | make -f publish-makefile pack-bundle-only CAT_NAME=osx PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 9d3f665ff..93d5e8783 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -137,12 +137,12 @@ jobs: - os: linux/amd64 arch: x64 actions-runner: ubuntu-latest - - os: linux/amd64 - arch: x64 - actions-runner: self-hosted-macos-x64 - - os: linux/arm64 - arch: arm64 - actions-runner: self-hosted-macos-arm64 + # - os: linux/amd64 + # arch: x64 + # actions-runner: self-hosted-macos-x64 + # - os: linux/arm64 + # arch: arm64 + # actions-runner: self-hosted-macos-arm64 needs: BuildNugetPackages-Linux runs-on: ${{ matrix.actions-runner }} diff --git a/win/partials.psm1 b/win/partials.psm1 index 879d234c7..b462ad6f6 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -141,6 +141,7 @@ function Install-Proj { -DCMAKE_BUILD_TYPE=Release -Wno-dev ` -DPROJ_TESTS=OFF -DBUILD_LIBPROJ_SHARED=ON ` -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" ` + -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:VCPKG_ROOT\installed\x64-windows" ` -DBUILD_SHARED_LIBS=ON -DENABLE_CURL=ON -DENABLE_TIFF=ON exec { cmake --build . -j $env:CMAKE_PARALLEL_JOBS --config Release --target install } From 1489a94ef167a814cdb89e426d0187275efa4448 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 22 May 2024 03:29:16 +0300 Subject: [PATCH 023/137] Updates --- .github/workflows/macos.yml | 2 +- .github/workflows/unix.yml | 6 ++---- .github/workflows/windows.yml | 1 + 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index b59a22f7d..d3a0156c3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -10,7 +10,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true +# cancel-in-progress: true env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet/ diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 93d5e8783..b8e8f79c6 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -204,15 +204,13 @@ jobs: with: pattern: packages-unix* merge-multiple: true - path: nuget/ + path: "${{ github.workspace}}/nuget/" - name: Download artifact - metadata uses: actions/download-artifact@v4 with: pattern: metadata-unix* - merge-multiple: true - - - run: ls -la ../nuget/ + merge-multiple: true - name: NuGet - Update credentials run: | diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index df988d750..a39ba76e1 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -50,6 +50,7 @@ jobs: - name: Compile GDAL and create packages id: compile-source run: | + git config --system core.longpaths true ./install.ps1 -buildNumberTail ${{ github.run_number }} -preRelease $${{ env.IS_PRE_RELEASE }} echo "GDAL_VERSION=$env:GDAL_VERSION" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append From c45975f196cc5615bf8166162dbc0ba5c5011cfa Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 27 May 2024 00:27:46 +0300 Subject: [PATCH 024/137] Updates --- win/partials.psm1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/win/partials.psm1 b/win/partials.psm1 index b462ad6f6..83d712cc0 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -246,7 +246,9 @@ function Build-Gdal { New-FolderIfNotExistsAndSetCurrentLocation $env:GdalCmakeBuild New-FolderIfNotExists "$PSScriptRoot\..\nuget" - + + # disabling KEA driver as it causes build issues on Windows + # https://github.com/OSGeo/gdal/blob/3b232ee17d8f3d93bf3535b77fbb436cb9a9c2e0/.github/workflows/windows_build.yml#L178 cmake -G $env:VS_VERSION -A $env:CMAKE_ARCHITECTURE "$env:GDAL_SOURCE" ` $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` $env:CMAKE_PREFIX_PATH -DCMAKE_C_FLAGS=" /WX $env:ARCH_FLAGS" ` @@ -255,6 +257,7 @@ function Build-Gdal { $env:WEBP_ROOT $env:WEBP_LIB ` $env:PROJ_ROOT $env:MYSQL_LIBRARY ` $env:POPPLER_EXTRA_LIBRARIES ` + -DGDAL_USE_KEA=OFF ` -DGDAL_USE_ZLIB_INTERNAL=ON ` -DECW_INTERFACE_COMPILE_DEFINITIONS="_MBCS;_UNICODE;UNICODE;_WINDOWS;LIBECWJ2;WIN32;_WINDLL;NO_X86_MMI" ` -DGDAL_CSHARP_APPS=OFF ` From 31cf2bfa6ff270f3845ae174844e786fc5c4d53d Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 27 May 2024 01:39:34 +0300 Subject: [PATCH 025/137] Updates --- win/test.ps1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/win/test.ps1 b/win/test.ps1 index b4dd5f713..d05d51b09 100644 --- a/win/test.ps1 +++ b/win/test.ps1 @@ -17,9 +17,12 @@ $existingVariables = Get-Variable try { Set-GdalVariables + Install-PwshModuleRequirements + if (!(Get-Command "nmake" -ErrorAction SilentlyContinue)) { Import-VisualStudioVars -VisualStudioVersion $env:VS_VER -Architecture $env:ARCHITECTURE } + $preReleaseArg = "" if ($preRelease){ $preReleaseArg = "PRERELEASE=1" From d4f2617311b7e90d0d98ccd5ef906d368ab5c30e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 27 May 2024 13:51:51 +0300 Subject: [PATCH 026/137] Updates --- .github/workflows/macos.yml | 6 +----- unix/publish-makefile | 8 +++++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d3a0156c3..f46f34c67 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -112,12 +112,8 @@ jobs: TestPackages-MacOS: strategy: matrix: - os: [self-hosted-macos-arm64,self-hosted-macos-x64, macos-13, macos-14] + os: [macos-13, macos-14] include: - # - os: self-hosted-macos-arm64 - # arch: arm64 - # - os: self-hosted-macos-x64 - # arch: x64 - os: macos-14 arch: arm64 - os: macos-13 diff --git a/unix/publish-makefile b/unix/publish-makefile index 6691608d0..8dcf6c275 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -19,6 +19,12 @@ all: prepare pack generate-projects: $(MAKE) -f ../unix/generate-projects-makefile CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) +update-targets: + cd $(PACKAGE_BUILD_ROOT) && \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + cd $(PACKAGE_BUILD_ROOT) && \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + # remove source. this was added by GDAL. ignore error prepare: -dotnet nuget remove source local @@ -32,7 +38,7 @@ pack-runtime: generate-projects pack-bundle: generate-projects pack-bundle-only @exit 0 -pack-bundle-only: +pack-bundle-only: prepare update-targets dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) pack: prepare pack-core pack-runtime From c423e39031b648f69ec1d238085d342ad5f9f23d Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 27 May 2024 15:37:24 +0300 Subject: [PATCH 027/137] Updates --- .github/workflows/unix.yml | 16 +++++++++++----- osx/collect-deps-makefile | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index b8e8f79c6..459a539c8 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -131,6 +131,7 @@ jobs: overwrite: true TestPackages-Linux: + needs: BuildNugetPackages-Linux strategy: matrix: include: @@ -144,7 +145,6 @@ jobs: # arch: arm64 # actions-runner: self-hosted-macos-arm64 - needs: BuildNugetPackages-Linux runs-on: ${{ matrix.actions-runner }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: @@ -184,7 +184,13 @@ jobs: PushPackages-Linux: needs: TestPackages-Linux - runs-on: ubuntu-latest + strategy: + matrix: + include: + - os: linux/amd64 + arch: x64 + actions-runner: ubuntu-latest + runs-on: ${{ matrix.actions-runner }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: @@ -202,14 +208,14 @@ jobs: - name: Download artifact - packages uses: actions/download-artifact@v4 with: - pattern: packages-unix* + pattern: packages-unix-${{ matrix.arch }} merge-multiple: true path: "${{ github.workspace}}/nuget/" - name: Download artifact - metadata uses: actions/download-artifact@v4 with: - pattern: metadata-unix* + pattern: metadata-unix-${{ matrix.arch }} merge-multiple: true - name: NuGet - Update credentials @@ -227,7 +233,7 @@ jobs: - name: Store packages as artifact uses: actions/upload-artifact@v4 with: - name: packages-unix-final + name: packages-unix-final-${{ matrix.arch }} path: nuget/*.nupkg overwrite: true diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index e4cf8b7d4..00baa8c41 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -71,7 +71,7 @@ copy-deps: -s $(GDAL_BUILD)/lib \ -s $(PROJ_BUILD)/lib \ -s $(HDF_BUILD)/lib \ - -cd -d $(OUTPUT)/ -p "@loader_path/" + -cd -d $(OUTPUT)/ -p "@executable_path/" copy-projdb: -mkdir -p $(LIBSHARED) From 1bcac3b76b6074d2f1f2dea748f4968809e5ca52 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 02:13:15 +0300 Subject: [PATCH 028/137] Updates --- .github/workflows/macos.yml | 14 ++++++++------ .github/workflows/unix.yml | 31 +++++++++++-------------------- osx/collect-deps-makefile | 8 +++++++- osx/gdal-makefile | 8 ++++++-- osx/test-makefile | 8 +++++--- shared/GdalCore.opt | 7 ++++--- shared/msbuild/default.targets | 18 ++++++++++++++++++ 7 files changed, 59 insertions(+), 35 deletions(-) create mode 100644 shared/msbuild/default.targets diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f46f34c67..05997cdc4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,13 +22,13 @@ jobs: BuildNugetPackages-MacOS: strategy: matrix: - os: [macos-14,macos-13] + os: [macos-14, macos-14] include: - os: macos-14 arch: arm64 - - os: macos-13 + - os: macos-14 arch: x64 - + runs-on: ${{ matrix.os }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: @@ -39,6 +39,9 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Select Xcode version + run: sudo xcode-select -s '/Applications/Xcode_14.3.1.app/Contents/Developer' + - name: Restore cached packages id: build-packages-cache-restore uses: maxnowack/local-cache@main @@ -56,7 +59,6 @@ jobs: - name: Install CMake run: | pipx install cmake - - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 @@ -112,11 +114,11 @@ jobs: TestPackages-MacOS: strategy: matrix: - os: [macos-13, macos-14] + os: [macos-14, macos-14] include: - os: macos-14 arch: arm64 - - os: macos-13 + - os: macos-14 arch: x64 needs: BuildNugetPackages-MacOS diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 459a539c8..793087a0b 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -29,9 +29,9 @@ jobs: - os: linux/amd64 arch: x64 actions-runner: ubuntu-latest - # - os: linux/arm64 - # arch: arm64 - # actions-runner: self-hosted-macos-arm64 + - os: linux/arm64 + arch: arm64 + actions-runner: self-hosted-macos-arm64 runs-on: ${{ matrix.actions-runner }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" @@ -138,12 +138,9 @@ jobs: - os: linux/amd64 arch: x64 actions-runner: ubuntu-latest - # - os: linux/amd64 - # arch: x64 - # actions-runner: self-hosted-macos-x64 - # - os: linux/arm64 - # arch: arm64 - # actions-runner: self-hosted-macos-arm64 + - os: linux/arm64 + arch: arm64 + actions-runner: self-hosted-macos-arm64 runs-on: ${{ matrix.actions-runner }} if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" @@ -183,14 +180,8 @@ jobs: -t maxrev-dev/gdal.netcore.tester.${{ matrix.arch }}:latest PushPackages-Linux: - needs: TestPackages-Linux - strategy: - matrix: - include: - - os: linux/amd64 - arch: x64 - actions-runner: ubuntu-latest - runs-on: ${{ matrix.actions-runner }} + needs: TestPackages-Linux + runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: @@ -208,14 +199,14 @@ jobs: - name: Download artifact - packages uses: actions/download-artifact@v4 with: - pattern: packages-unix-${{ matrix.arch }} + pattern: packages-unix* merge-multiple: true path: "${{ github.workspace}}/nuget/" - name: Download artifact - metadata uses: actions/download-artifact@v4 with: - pattern: metadata-unix-${{ matrix.arch }} + pattern: metadata-unix* merge-multiple: true - name: NuGet - Update credentials @@ -233,7 +224,7 @@ jobs: - name: Store packages as artifact uses: actions/upload-artifact@v4 with: - name: packages-unix-final-${{ matrix.arch }} + name: packages-unix-final path: nuget/*.nupkg overwrite: true diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index 00baa8c41..dfa1ac5a7 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -71,7 +71,13 @@ copy-deps: -s $(GDAL_BUILD)/lib \ -s $(PROJ_BUILD)/lib \ -s $(HDF_BUILD)/lib \ - -cd -d $(OUTPUT)/ -p "@executable_path/" + -cd -d $(OUTPUT)/ -p "@loader_path/" +# # +# mv $(OUTPUT)/libsqlite3.dylib $(OUTPUT)/gdal_sqlite3.dylib +# install_name_tool -id @loader_path/gdal_sqlite3.dylib $(OUTPUT)/gdal_sqlite3.dylib +# install_name_tool -change @loader_path/libsqlite3.dylib @loader_path/gdal_sqlite3.dylib $(OUTPUT)/libproj*.dylib +# install_name_tool -change @loader_path/libsqlite3.dylib @loader_path/gdal_sqlite3.dylib $(OUTPUT)/libgdal*.*.dylib +# codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - $(OUTPUT)/*.dylib copy-projdb: -mkdir -p $(LIBSHARED) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 73793f094..86cb62527 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -131,6 +131,8 @@ configure_gdal: -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ + -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ + -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ -DMYSQL_LIBRARY=$(VCPKG_INSTALLED)/lib/libmysqlclient.a \ -DMYSQL_INCLUDE_DIR=$(VCPKG_INSTALLED)/include/mysql \ -DHDF4_INCLUDE_DIR=$(BUILD_ROOT)/hdf-build/include \ @@ -142,6 +144,7 @@ configure_gdal: -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 @echo "$(TO) GDAL was configured!" @@ -163,10 +166,11 @@ configure_proj: -DENABLE_CURL=ON -DENABLE_TIFF=ON \ -DTIFF_INCLUDE_DIR="$(VCPKG_INSTALLED_DYNAMIC)/include" \ -DEXE_SQLITE3="$(VCPKG_INSTALLED)/tools/sqlite3" \ - -DSQLite3_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ - -DSQLite3_LIBRARY="$(VCPKG_INSTALLED)/lib/libsqlite3.a" \ + -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ + -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ -DTIFF_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libtiff.dylib" \ -DCMAKE_PREFIX_PATH="$(VCPKG_INSTALLED_DYNAMIC)" \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ || exit 1 @echo "$(TO) PROJ was configured!" diff --git a/osx/test-makefile b/osx/test-makefile index 07d4d7ebe..618d5c7bf 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -7,11 +7,13 @@ TEST_TARGET=$(TEST_DIR) CMD_TYPE=dotnet test else TEST_TARGET=$(TEST_DIR_APP) -CMD_TYPE=dotnet run +CMD_TYPE=DYLD_PRINT_LIBRARIES=1 dotnet run endif MISSING_PACKAGES=MaxRev.Gdal.LinuxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Minimal +_BUILD_NUMBER_TAIL=$(shell echo $$(($(BUILD_NUMBER_TAIL) + $(PACKAGE_BUILD_NUMBER)))) + any: test ### Testing macOS libraries (from nuget build output) @@ -25,9 +27,9 @@ test-restore: test-update: cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(_BUILD_NUMBER_TAIL)" -s $(NUGET_) $(PRERELEASE_ARG) cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(_BUILD_NUMBER_TAIL)" -s $(NUGET_) $(PRERELEASE_ARG) test-only: test-restore cd $(TEST_TARGET) && \ diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index f4d9b9d70..a5bccf572 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -40,9 +40,10 @@ VCPKG_REQUIRE_WIN_STATIC= VCPKG_REQUIRE_UNIX= VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) "sqlite3[tool,rtree]" -# osx requires the same libs as linux -VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) -VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql "sqlite3[tool,rtree]" +# osx requires the same libs as linux +# sqlite static is required only to build proj.db +VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) "sqlite3[tool,rtree]" +VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql "sqlite3[tool,rtree]" VCPKG_CLEANUP=buildtrees downloads packages installed diff --git a/shared/msbuild/default.targets b/shared/msbuild/default.targets new file mode 100644 index 000000000..c7b145379 --- /dev/null +++ b/shared/msbuild/default.targets @@ -0,0 +1,18 @@ + + + + + + + $(MaxRevGdalOutputBase)\ + + + + + + $(MaxRevGdalOutputBase)%(Filename)%(Extension) + PreserveNewest + + + + \ No newline at end of file From df2a58fcd2df63e029ac425fc9a875c696bae8f7 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 02:14:59 +0300 Subject: [PATCH 029/137] Updates --- osx/collect-deps-makefile | 6 ------ osx/test-makefile | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index dfa1ac5a7..e4cf8b7d4 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -72,12 +72,6 @@ copy-deps: -s $(PROJ_BUILD)/lib \ -s $(HDF_BUILD)/lib \ -cd -d $(OUTPUT)/ -p "@loader_path/" -# # -# mv $(OUTPUT)/libsqlite3.dylib $(OUTPUT)/gdal_sqlite3.dylib -# install_name_tool -id @loader_path/gdal_sqlite3.dylib $(OUTPUT)/gdal_sqlite3.dylib -# install_name_tool -change @loader_path/libsqlite3.dylib @loader_path/gdal_sqlite3.dylib $(OUTPUT)/libproj*.dylib -# install_name_tool -change @loader_path/libsqlite3.dylib @loader_path/gdal_sqlite3.dylib $(OUTPUT)/libgdal*.*.dylib -# codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - $(OUTPUT)/*.dylib copy-projdb: -mkdir -p $(LIBSHARED) diff --git a/osx/test-makefile b/osx/test-makefile index 618d5c7bf..4f3dd5ce6 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -7,7 +7,7 @@ TEST_TARGET=$(TEST_DIR) CMD_TYPE=dotnet test else TEST_TARGET=$(TEST_DIR_APP) -CMD_TYPE=DYLD_PRINT_LIBRARIES=1 dotnet run +CMD_TYPE=dotnet run endif MISSING_PACKAGES=MaxRev.Gdal.LinuxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Minimal From ab435722de7490cd5f1f42782ad2b1ae9517c6ea Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 09:18:53 +0300 Subject: [PATCH 030/137] Updates --- osx/gdal-makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 86cb62527..599dd8101 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -139,8 +139,6 @@ configure_gdal: -DHDF4_df_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libhdf.dylib \ -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ -DHDF4_xdr_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libxdr.dylib \ - -DJXL_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include/jxl \ - -DJXL_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libjxl.dylib \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ From 48a12818842b8619f028a27179928e7f0a1d4e3d Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 11:24:40 +0300 Subject: [PATCH 031/137] Updates --- .github/workflows/macos.yml | 4 ++-- osx/gdal-makefile | 4 ++-- unix/publish-makefile | 8 +++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 05997cdc4..bb7a46e3b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -185,8 +185,8 @@ jobs: run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true + dotnet nuget remove source local > /dev/null + dotnet nuget remove source local.ci > /dev/null dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config - name: Build bundle diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 599dd8101..2bef19c11 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -133,8 +133,8 @@ configure_gdal: -DBUILD_SHARED_LIBS=ON \ -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ - -DMYSQL_LIBRARY=$(VCPKG_INSTALLED)/lib/libmysqlclient.a \ - -DMYSQL_INCLUDE_DIR=$(VCPKG_INSTALLED)/include/mysql \ + -DMYSQL_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libmysqlclient.dylib \ + -DMYSQL_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include/mysql \ -DHDF4_INCLUDE_DIR=$(BUILD_ROOT)/hdf-build/include \ -DHDF4_df_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libhdf.dylib \ -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ diff --git a/unix/publish-makefile b/unix/publish-makefile index 8dcf6c275..603eb48e8 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -21,11 +21,13 @@ generate-projects: update-targets: cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) \ + --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core \ + --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) -# remove source. this was added by GDAL. ignore error +# remove source and ignore the error. this source was added by GDAL. prepare: -dotnet nuget remove source local From 7ae9f23eb7d867780edd32ff32af96be6b62ad68 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 12:33:32 +0300 Subject: [PATCH 032/137] Updates --- osx/gdal-makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 2bef19c11..71ed7aa72 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -133,8 +133,6 @@ configure_gdal: -DBUILD_SHARED_LIBS=ON \ -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ - -DMYSQL_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libmysqlclient.dylib \ - -DMYSQL_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include/mysql \ -DHDF4_INCLUDE_DIR=$(BUILD_ROOT)/hdf-build/include \ -DHDF4_df_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libhdf.dylib \ -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ From 2f45d944293a1ac60035dfd7939c810408123a4e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 12:57:57 +0300 Subject: [PATCH 033/137] Updates --- .github/workflows/macos.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index bb7a46e3b..df8686666 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,11 +22,11 @@ jobs: BuildNugetPackages-MacOS: strategy: matrix: - os: [macos-14, macos-14] + os: [macos-14, macos-13] include: - os: macos-14 arch: arm64 - - os: macos-14 + - os: macos-13 arch: x64 runs-on: ${{ matrix.os }} @@ -114,11 +114,11 @@ jobs: TestPackages-MacOS: strategy: matrix: - os: [macos-14, macos-14] + os: [macos-14, macos-13] include: - os: macos-14 arch: arm64 - - os: macos-14 + - os: macos-13 arch: x64 needs: BuildNugetPackages-MacOS From dafb599c02378b49f0dc279f6906085375a4220a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 13:39:16 +0300 Subject: [PATCH 034/137] Updates --- osx/before-install.sh | 2 +- shared/GdalCore.opt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/osx/before-install.sh b/osx/before-install.sh index 0c5979849..77fbcb223 100755 --- a/osx/before-install.sh +++ b/osx/before-install.sh @@ -3,4 +3,4 @@ set -e brew install make pkg-config autoconf automake \ - autoconf-archive swig libtool dylibbundler gsed python3 pipx \ No newline at end of file + autoconf-archive swig libtool dylibbundler gsed python3 pipx mysql \ No newline at end of file diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index a5bccf572..db7286cd2 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -42,8 +42,9 @@ VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) "sqlite3[to # osx requires the same libs as linux # sqlite static is required only to build proj.db +# mysql fails on arm64-dynamic VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) "sqlite3[tool,rtree]" -VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql "sqlite3[tool,rtree]" +VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c "sqlite3[tool,rtree]" VCPKG_CLEANUP=buildtrees downloads packages installed From ede7152e0ca9392cca56ccba4620a45f4a8057d5 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 14:30:25 +0300 Subject: [PATCH 035/137] Updates --- osx/before-install.sh | 2 +- osx/test-makefile | 8 +++----- shared/GdalCore.opt | 3 +-- shared/bundle/base.opt | 3 +++ 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/osx/before-install.sh b/osx/before-install.sh index 77fbcb223..0c5979849 100755 --- a/osx/before-install.sh +++ b/osx/before-install.sh @@ -3,4 +3,4 @@ set -e brew install make pkg-config autoconf automake \ - autoconf-archive swig libtool dylibbundler gsed python3 pipx mysql \ No newline at end of file + autoconf-archive swig libtool dylibbundler gsed python3 pipx \ No newline at end of file diff --git a/osx/test-makefile b/osx/test-makefile index 4f3dd5ce6..b8df93bce 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -12,8 +12,6 @@ endif MISSING_PACKAGES=MaxRev.Gdal.LinuxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Minimal -_BUILD_NUMBER_TAIL=$(shell echo $$(($(BUILD_NUMBER_TAIL) + $(PACKAGE_BUILD_NUMBER)))) - any: test ### Testing macOS libraries (from nuget build output) @@ -27,13 +25,13 @@ test-restore: test-update: cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(_BUILD_NUMBER_TAIL)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) $(PRERELEASE_ARG) cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(_BUILD_NUMBER_TAIL)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.Core --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) $(PRERELEASE_ARG) test-only: test-restore cd $(TEST_TARGET) && \ $(CMD_TYPE) --no-restore $(TEST_DIR)/*.csproj -test: test-restore test-update test-only +test: test-update test-restore test-only @exit 0 \ No newline at end of file diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index db7286cd2..a5bccf572 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -42,9 +42,8 @@ VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) "sqlite3[to # osx requires the same libs as linux # sqlite static is required only to build proj.db -# mysql fails on arm64-dynamic VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) "sqlite3[tool,rtree]" -VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c "sqlite3[tool,rtree]" +VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql "sqlite3[tool,rtree]" VCPKG_CLEANUP=buildtrees downloads packages installed diff --git a/shared/bundle/base.opt b/shared/bundle/base.opt index 8d9d919ce..3883bb13d 100644 --- a/shared/bundle/base.opt +++ b/shared/bundle/base.opt @@ -3,6 +3,9 @@ BUILD_NUMBER_BASE=100 PACKAGE_BUILD_NUMBER=$(shell echo $$(($(BUILD_NUMBER_TAIL) + $(BUILD_NUMBER_BASE)))) +BUILD_NUMBER_TAIL_OSX=$(BUILD_NUMBER_TAIL) +BUILD_NUMBER_TAIL_UNIX=$(BUILD_NUMBER_TAIL) +BUILD_NUMBER_TAIL_WIN=$(BUILD_NUMBER_TAIL) PACKAGE_BUILD_NUMBER_OSX=$(shell echo $$(($(BUILD_NUMBER_TAIL_OSX) + $(BUILD_NUMBER_BASE)))) PACKAGE_BUILD_NUMBER_UNIX=$(shell echo $$(($(BUILD_NUMBER_TAIL_UNIX) + $(BUILD_NUMBER_BASE)))) PACKAGE_BUILD_NUMBER_WIN=$(shell echo $$(($(BUILD_NUMBER_TAIL_WIN) + $(BUILD_NUMBER_BASE)))) From 5ce880b3388601ec92083f4c98f53c0c6d3a7087 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 18:54:04 +0300 Subject: [PATCH 036/137] Updates --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index df8686666..197c13b09 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -185,8 +185,8 @@ jobs: run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local > /dev/null - dotnet nuget remove source local.ci > /dev/null + dotnet nuget remove source local || true + dotnet nuget remove source local.ci || true dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config - name: Build bundle From c355e4ca3d800064485ba549266de5474c2ef07e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 20:11:43 +0300 Subject: [PATCH 037/137] Updates --- .github/workflows/macos.yml | 10 +++++----- .github/workflows/unix.yml | 6 +++--- .github/workflows/windows.yml | 2 +- osx/publish-makefile | 4 +++- unix/publish-makefile | 3 ++- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 197c13b09..dd7db2a3f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -16,7 +16,7 @@ env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet/ DOTNET_VERSION: '8.0.x' VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-archives/ - IS_PRE_RELEASE: ${{ github.event_name == 'push' && github.ref != 'refs/heads/main' || contains(github.event.head_commit.message, '[prerelease]') }} + IS_PRE_RELEASE: ${{ !contains(github.ref, 'main') || contains(github.event.head_commit.message, '[prerelease]') }} jobs: BuildNugetPackages-MacOS: @@ -147,8 +147,8 @@ jobs: run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true + dotnet nuget remove source local > /dev/null || : + dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ../nuget.config - name: Test packages @@ -185,8 +185,8 @@ jobs: run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true + dotnet nuget remove source local > /dev/null || : + dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config - name: Build bundle diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 793087a0b..62ae7443b 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -15,7 +15,7 @@ concurrency: env: DOCKER_REGISTRY: ghcr.io/maxrev-dev DOTNET_VERSION: '8.0.x' - IS_PRE_RELEASE: ${{ github.event_name == 'push' && github.ref != 'refs/heads/main' || contains(github.event.head_commit.message, '[prerelease]') }} + IS_PRE_RELEASE: ${{ !contains(github.ref, 'main') || contains(github.event.head_commit.message, '[prerelease]') }} permissions: packages: write @@ -213,8 +213,8 @@ jobs: run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true + dotnet nuget remove source local > /dev/null || : + dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config - name: Build bundle diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a39ba76e1..cfb80765a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -15,7 +15,7 @@ concurrency: env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' - IS_PRE_RELEASE: ${{ github.event_name == 'push' && github.ref != 'refs/heads/main' || contains(github.event.head_commit.message, '[prerelease]') }} + IS_PRE_RELEASE: ${{ !contains(github.ref, 'main') || contains(github.event.head_commit.message, '[prerelease]') }} jobs: BuildNugetPackages-Windows: diff --git a/osx/publish-makefile b/osx/publish-makefile index 9f1834fe2..73e92987b 100644 --- a/osx/publish-makefile +++ b/osx/publish-makefile @@ -3,11 +3,13 @@ include ../shared/GdalCore.opt all: all + %: $(MAKE) -f ../unix/publish-makefile $@ \ BUILD_ARCH=$(BUILD_ARCH) \ RID=$(RID) \ CAT_NAME=$(BASE_RUNTIME_RID) \ VCPKG_RID=$(VCPKG_RID) \ - RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_OSX_FINAL) + RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_OSX_FINAL) \ + RUNTIME_PACKAGE_PARTIAL=MacosRuntime diff --git a/unix/publish-makefile b/unix/publish-makefile index 603eb48e8..7ca143113 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -13,6 +13,7 @@ export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:${VCPKG_INSTALLED_DYNAMIC}/lib RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_LINUX_FINAL) GEOS_VERSION=$(shell $(MAKE) -f ../unix/generate-projects-makefile get-version IN_FILE=$(VCPKG_INSTALLED_DYNAMIC)/lib/pkgconfig/geos.pc) CAT_NAME=unix +RUNTIME_PACKAGE_PARTIAL=LinuxRuntime all: prepare pack @@ -21,7 +22,7 @@ generate-projects: update-targets: cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal.$(BUILD_ARCH) \ --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core \ From 16d8dc25a0158a20198cda57d753b2572f9a2271 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 30 May 2024 20:23:16 +0300 Subject: [PATCH 038/137] Updates --- .../CommonTests.cs | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs index 423861078..bea56f8a8 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs @@ -100,33 +100,33 @@ public static IEnumerable DriversInCurrentVersion { return new[] { - "AAIGrid","ACE2","ADRG","AIG","AirSAR","AmigoCloud", - "AVCBin","AVCE00","BAG","BIGGIF","BLX","BMP","BSB","BT", - "BYN","CAD","CALS","Carto","CEOS","COASP","COG","COSAR", - "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", - "DIMAP","DIPEx","DOQ1","DOQ2","DTED","DXF","ECRGTOC","EDIGEO", - "EEDA","EEDAI","EHdr","EIR","ELAS","Elasticsearch","ENVI","ERS", - "ESAT","ESRI Shapefile","ESRIC","ESRIJSON","FAST","FIT","FITS", - "FlatGeobuf","GenBin","Geoconcept","GeoJSON","GeoJSONSeq","GeoRSS", - "GFF","GIF","GML","GMLAS","GNMDatabase","GNMFile","GPKG","GPSBabel", - "GPX","GRASSASCIIGrid","GRIB","GS7BG","GSAG","GSBG","GSC","GTiff", - "GTX","GXF","HDF4","HDF4Image","HDF5","HDF5Image","HF2","HFA", - "HTTP","Idrisi","ILWIS","Interlis 1","Interlis 2","IRIS","ISCE", - "ISG","ISIS2","ISIS3","JAXAPALSAR","JDEM","JML","JP2OpenJPEG", - "JPEG","KML","KMLSUPEROVERLAY","KRO","L1B","LAN","LCP","Leveller", - "LIBKML","LOSLAS","LVBAG","MAP","MapInfo File","MapML","MBTiles", - "MEM","Memory","MFF","MFF2","MRF","MSGN","MSSQLSpatial","MVT", - "NAS","NDF","netCDF","NGSGEOID","NGW","NITF","NTv2", - "NWT_GRC","NWT_GRD","OAPIF","ODBC","ODS","OGCAPI","OGR_GMT", - "OGR_PDS","OGR_SDTS","OGR_VRT","OpenFileGDB","OSM","OZI","PAux", - "PCIDSK","PCRaster","PDF","PDS","PDS4","PGDUMP","PGeo","PLMOSAIC", - "PLSCENES","PNG","PNM","PostGISRaster","PostgreSQL","PRF","R", - "Rasterlite","RIK","RMF","ROI_PAC","RPFTOC","RRASTER","RS2","RST", - "S57","SAFE","SAGA","SAR_CEOS","SDTS","Selafin","SENTINEL2","SGI", - "SIGDEM","SNODAS","SQLite","SRP","SRTMHGT","STACIT","STACTA","SVG", - "SXF","Terragen","TGA","TIGER","TIL","TopoJSON","TSX","UK .NTF", - "USGSDEM","VDV","VFK","VICAR","VRT","WAsP","WCS","WEBP","WFS", - "WMS","WMTS","XLS","XLSX","XPM","XYZ","Zarr","ZMap" + "AAIGrid","ACE2","ADRG","AIG","AirSAR","AmigoCloud", + "AVCBin","AVCE00","BAG","BIGGIF","BLX","BMP","BSB","BT", + "BYN","CAD","CALS","Carto","CEOS","COASP","COG","COSAR", + "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", + "DIMAP","DIPEx","DOQ1","DOQ2","DTED","DXF","ECRGTOC","EDIGEO", + "EEDA","EEDAI","EHdr","EIR","ELAS","Elasticsearch","ENVI","ERS", + "ESAT","ESRI Shapefile","ESRIC","ESRIJSON","EXR","FAST","FIT","FITS", + "FlatGeobuf","GenBin","Geoconcept","GeoJSON","GeoJSONSeq","GeoRSS", + "GFF","GIF","GML","GMLAS","GNMDatabase","GNMFile","GPKG","GPSBabel", + "GPX","GRASSASCIIGrid","GRIB","GS7BG","GSAG","GSBG","GSC","GTFS","GTI","GTiff", + "GTX","GXF","HDF4","HDF4Image","HDF5","HDF5Image","HF2","HFA", + "HTTP","Idrisi","ILWIS","Interlis 1","Interlis 2","IRIS","ISCE", + "ISG","ISIS2","ISIS3","JAXAPALSAR","JDEM","JML","JP2OpenJPEG", + "JPEG","JPEGXL","JSONFG","KML","KMLSUPEROVERLAY","KRO","L1B","LAN","LCP","Leveller", + "LIBKML","LOSLAS","LVBAG","MAP","MapInfo File","MapML","MBTiles", + "MEM","Memory","MFF","MFF2","MiraMonVector","MRF","MSGN","MSSQLSpatial","MVT", + "MySQL","NAS","NDF","netCDF","NGSGEOID","NGW","NITF","NOAA_B","NSIDCbin","NTv2", + "NWT_GRC","NWT_GRD","OAPIF","ODBC","ODS","OGCAPI","OGR_GMT", + "OGR_PDS","OGR_SDTS","OGR_VRT","OpenFileGDB","OSM","OZI","PAux", + "PCIDSK","PCRaster","PDF","PDS","PDS4","PGDUMP","PGeo","PLMOSAIC", + "PLSCENES","PMTiles","PNG","PNM","PostGISRaster","PostgreSQL","PRF","R", + "Rasterlite","RIK","RMF","ROI_PAC","RPFTOC","RRASTER","RS2","RST", + "S102","S104","S111","S57","SAFE","SAGA","SAR_CEOS","SDTS","Selafin","SENTINEL2","SGI", + "SIGDEM","SNODAS","SQLite","SRP","SRTMHGT","STACIT","STACTA","SVG", + "SXF","Terragen","TGA","TIGER","TIL","TopoJSON","TSX","UK .NTF", + "USGSDEM","VDV","VFK","VICAR","VRT","WAsP","WCS","WEBP","WFS", + "WMS","WMTS","XLS","XLSX","XPM","XYZ","Zarr","ZMap" }.Select(x => new[] { x }); } } From f976241965e97c09f41f1ec801fcd4ca2b30335f Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 02:10:40 +0300 Subject: [PATCH 039/137] Updates --- osx/gdal-makefile | 13 ++++++++++++- osx/test-makefile | 9 ++++++--- shared/GdalCore.opt | 1 + .../MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs | 4 ++-- unix/gdal-makefile | 12 ++++++++++++ unix/test-makefile | 9 ++++++--- win/partials.psm1 | 16 ++++++++++++++++ 7 files changed, 55 insertions(+), 9 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 71ed7aa72..eeddd0993 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -176,10 +176,21 @@ build_%: @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" +__DYLIBS_GDAL=DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib +formats-output: + @mkdir -p $(TEST_FORMATS_OUTPUT) + @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx.txt + + @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-raster.txt + + @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-vector.txt + reset: reset_proj reset_gdal @echo "$(TO) Reset ALL is complete" .EXPORT_ALL_VARIABLES: PKG_CONFIG_PATH=$(VCPKG_INSTALLED_DYNAMIC)/lib/pkgconfig -LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:${VCPKG_INSTALLED_DYNAMIC}/lib:${PROJ_BUILD}/lib:${HDF_BUILD}/lib DYLD_LIBRARY_PATH=$$DYLD_LIBRARY_PATH:${VCPKG_INSTALLED_DYNAMIC}/lib:${PROJ_BUILD}/lib:${HDF_BUILD}/lib \ No newline at end of file diff --git a/osx/test-makefile b/osx/test-makefile index b8df93bce..5abed7bc6 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -14,6 +14,9 @@ MISSING_PACKAGES=MaxRev.Gdal.LinuxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Min any: test +test-prepare: + $(MAKE) -f gdal-makefile formats-output + ### Testing macOS libraries (from nuget build output) test-restore: -@for v in $(MISSING_PACKAGES); do \ @@ -25,13 +28,13 @@ test-restore: test-update: cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.MacosRuntime.Minimal.$(BUILD_ARCH) --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.Core --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.Core --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER_OSX)" -s $(NUGET_) test-only: test-restore cd $(TEST_TARGET) && \ $(CMD_TYPE) --no-restore $(TEST_DIR)/*.csproj -test: test-update test-restore test-only +test: test-prepare test-update test-restore test-only @exit 0 \ No newline at end of file diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index a5bccf572..1c7449f88 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -94,6 +94,7 @@ NUGET_=$(ROOTDIR_)/nuget ### Shared .NET Core Tests TEST_DIR=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests.XUnit TEST_DIR_APP=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests +TEST_FORMATS_OUTPUT=$(TEST_DIR)/gdal-formats # Templates for project files GDALCORE_PROJECT=$(ROOTDIR_)/shared/templates/gdalcore.loader.csproj.in diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs index bea56f8a8..2d87d1b53 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs @@ -106,14 +106,14 @@ public static IEnumerable DriversInCurrentVersion "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", "DIMAP","DIPEx","DOQ1","DOQ2","DTED","DXF","ECRGTOC","EDIGEO", "EEDA","EEDAI","EHdr","EIR","ELAS","Elasticsearch","ENVI","ERS", - "ESAT","ESRI Shapefile","ESRIC","ESRIJSON","EXR","FAST","FIT","FITS", + "ESAT","ESRI Shapefile","ESRIC","ESRIJSON","FAST","FIT","FITS", "FlatGeobuf","GenBin","Geoconcept","GeoJSON","GeoJSONSeq","GeoRSS", "GFF","GIF","GML","GMLAS","GNMDatabase","GNMFile","GPKG","GPSBabel", "GPX","GRASSASCIIGrid","GRIB","GS7BG","GSAG","GSBG","GSC","GTFS","GTI","GTiff", "GTX","GXF","HDF4","HDF4Image","HDF5","HDF5Image","HF2","HFA", "HTTP","Idrisi","ILWIS","Interlis 1","Interlis 2","IRIS","ISCE", "ISG","ISIS2","ISIS3","JAXAPALSAR","JDEM","JML","JP2OpenJPEG", - "JPEG","JPEGXL","JSONFG","KML","KMLSUPEROVERLAY","KRO","L1B","LAN","LCP","Leveller", + "JPEG","JSONFG","KML","KMLSUPEROVERLAY","KRO","L1B","LAN","LCP","Leveller", "LIBKML","LOSLAS","LVBAG","MAP","MapInfo File","MapML","MBTiles", "MEM","Memory","MFF","MFF2","MiraMonVector","MRF","MSGN","MSSQLSpatial","MVT", "MySQL","NAS","NDF","netCDF","NGSGEOID","NGW","NITF","NOAA_B","NSIDCbin","NTv2", diff --git a/unix/gdal-makefile b/unix/gdal-makefile index be4f7e009..3bc595507 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -170,6 +170,18 @@ build_%: @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" +__LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib +formats-output: + @mkdir -p $(TEST_FORMATS_OUTPUT) + @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix.txt + + @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-raster.txt + + @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-vector.txt + reset: reset_proj reset_gdal @echo "$(TO) Reset ALL is complete" diff --git a/unix/test-makefile b/unix/test-makefile index dc85c4b15..db6ffb94f 100644 --- a/unix/test-makefile +++ b/unix/test-makefile @@ -14,6 +14,9 @@ MISSING_PACKAGES=MaxRev.Gdal.MacosRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Min all: test +test-prepare: + $(MAKE) -f gdal-makefile formats-output + ### Testing linux libraries (from nuget build output) test-restore: cd $(TEST_TARGET) && \ @@ -21,13 +24,13 @@ test-restore: test-update: cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.LinuxRuntime.Minimal.$(BUILD_ARCH) -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) cd $(TEST_TARGET) && \ - dotnet add package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + dotnet add package MaxRev.Gdal.Core -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) test-only: test-restore cd $(TEST_TARGET) && \ $(CMD_TYPE) --no-restore $(TEST_DIR)/*.csproj -test: test-restore test-update test-only +test: test-prepare test-restore test-update test-only @exit 0 \ No newline at end of file diff --git a/win/partials.psm1 b/win/partials.psm1 index 83d712cc0..e23882b44 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -300,6 +300,8 @@ function Build-CsharpBindings { Set-Location $PSScriptRoot + Write-GdalFormats + exec { & nmake -f collect-deps-makefile.vc } Build-GenerateProjectFiles -packageVersion $packageVersion @@ -311,4 +313,18 @@ function Build-CsharpBindings { else { exec { & nmake -f publish-makefile.vc pack PACKAGE_BUILD_NUMBER=$packageVersion } } +} + +function Write-GdalFormats { + Set-Location "$env:GDAL_INSTALL_DIR\bin" + # write to file + try { + $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\MaxRev.Gdal.Core.Tests.XUnit\gdal-formats") + New-FolderIfNotExists $formats_path + exec { & .\gdal-config.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force } + exec { & .\gdalinfo.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force } + exec { & .\ogrinfo.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force } + } catch { + Write-Host "Failed to get GDAL formats" + } } \ No newline at end of file From dbbd8c49cea387dfd44353ece3333bc6d4c38731 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 03:14:03 +0300 Subject: [PATCH 040/137] Updates --- .github/workflows/macos.yml | 8 ++++++++ .github/workflows/unix.yml | 8 ++++++++ .github/workflows/windows.yml | 8 ++++++++ osx/gdal-makefile | 1 + osx/test-makefile | 5 +---- shared/GdalCore.opt | 2 +- unix/gdal-makefile | 1 + unix/test-makefile | 5 +---- win/partials.psm1 | 4 +++- 9 files changed, 32 insertions(+), 10 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dd7db2a3f..e2c58c931 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -104,6 +104,14 @@ jobs: package-build/*.csproj overwrite: true + - name: GDAL formats osx + uses: actions/upload-artifact@v4 + with: + name: formats-osx-${{ matrix.arch }} + path: | + tests/gdal-formats/ + overwrite: true + - name: Store packages as artifact uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 62ae7443b..5c037022a 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -123,6 +123,14 @@ jobs: package-build/*.csproj overwrite: true + - name: GDAL formats unix + uses: actions/upload-artifact@v4 + with: + name: formats-unix-${{ matrix.arch }} + path: | + tests/gdal-formats/ + overwrite: true + - name: Store packages as artifact uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index cfb80765a..1c4bf00dc 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -61,6 +61,14 @@ jobs: path: shared/bundle/targets/ overwrite: true + - name: GDAL formats windows + uses: actions/upload-artifact@v4 + with: + name: formats-win + path: | + tests/gdal-formats/ + overwrite: true + - name: Store packages as artifact uses: actions/upload-artifact@v4 with: diff --git a/osx/gdal-makefile b/osx/gdal-makefile index eeddd0993..8bd9f1ca4 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -175,6 +175,7 @@ build_%: @echo "$(TO) $(LW) Building..." @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" + $(MAKE) -f gdal-makefile formats-output __DYLIBS_GDAL=DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: diff --git a/osx/test-makefile b/osx/test-makefile index 5abed7bc6..7b41969c1 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -14,9 +14,6 @@ MISSING_PACKAGES=MaxRev.Gdal.LinuxRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Min any: test -test-prepare: - $(MAKE) -f gdal-makefile formats-output - ### Testing macOS libraries (from nuget build output) test-restore: -@for v in $(MISSING_PACKAGES); do \ @@ -36,5 +33,5 @@ test-only: test-restore cd $(TEST_TARGET) && \ $(CMD_TYPE) --no-restore $(TEST_DIR)/*.csproj -test: test-prepare test-update test-restore test-only +test: test-update test-restore test-only @exit 0 \ No newline at end of file diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 1c7449f88..44e86e935 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -94,7 +94,7 @@ NUGET_=$(ROOTDIR_)/nuget ### Shared .NET Core Tests TEST_DIR=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests.XUnit TEST_DIR_APP=$(ROOTDIR_)/tests/MaxRev.Gdal.Core.Tests -TEST_FORMATS_OUTPUT=$(TEST_DIR)/gdal-formats +TEST_FORMATS_OUTPUT=$(ROOTDIR_)/tests/gdal-formats # Templates for project files GDALCORE_PROJECT=$(ROOTDIR_)/shared/templates/gdalcore.loader.csproj.in diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 3bc595507..c2be755ad 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -169,6 +169,7 @@ build_%: @echo "$(TO) $(LW) Building..." @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" + $(MAKE) -f gdal-makefile formats-output __LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: diff --git a/unix/test-makefile b/unix/test-makefile index db6ffb94f..1265df169 100644 --- a/unix/test-makefile +++ b/unix/test-makefile @@ -14,9 +14,6 @@ MISSING_PACKAGES=MaxRev.Gdal.MacosRuntime.Minimal MaxRev.Gdal.WindowsRuntime.Min all: test -test-prepare: - $(MAKE) -f gdal-makefile formats-output - ### Testing linux libraries (from nuget build output) test-restore: cd $(TEST_TARGET) && \ @@ -32,5 +29,5 @@ test-only: test-restore cd $(TEST_TARGET) && \ $(CMD_TYPE) --no-restore $(TEST_DIR)/*.csproj -test: test-prepare test-restore test-update test-only +test: test-restore test-update test-only @exit 0 \ No newline at end of file diff --git a/win/partials.psm1 b/win/partials.psm1 index e23882b44..87eaec861 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -302,6 +302,8 @@ function Build-CsharpBindings { Write-GdalFormats + Set-Location $PSScriptRoot + exec { & nmake -f collect-deps-makefile.vc } Build-GenerateProjectFiles -packageVersion $packageVersion @@ -319,7 +321,7 @@ function Write-GdalFormats { Set-Location "$env:GDAL_INSTALL_DIR\bin" # write to file try { - $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\MaxRev.Gdal.Core.Tests.XUnit\gdal-formats") + $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") New-FolderIfNotExists $formats_path exec { & .\gdal-config.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force } exec { & .\gdalinfo.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force } From 7cc46e124b49601833c2e1ebd595e9a94b910e19 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 14:53:54 +0300 Subject: [PATCH 041/137] Updates --- osx/collect-deps-makefile | 1 + osx/gdal-makefile | 1 - unix/collect-deps-makefile | 1 + unix/gdal-makefile | 1 - 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index e4cf8b7d4..da88b38b0 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -32,6 +32,7 @@ $(WRAP_TARGETS): force build: linkall @echo "Bindings and drivers are ready to packaging!" + $(MAKE) -f gdal-makefile formats-output linkall: initdirs copy-projdb collect-bindings copy-deps @echo "Libraries patched successfully" diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 8bd9f1ca4..eeddd0993 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -175,7 +175,6 @@ build_%: @echo "$(TO) $(LW) Building..." @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" - $(MAKE) -f gdal-makefile formats-output __DYLIBS_GDAL=DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: diff --git a/unix/collect-deps-makefile b/unix/collect-deps-makefile index 626d7baa5..9a22a3696 100644 --- a/unix/collect-deps-makefile +++ b/unix/collect-deps-makefile @@ -19,6 +19,7 @@ LIBS_TO_REMOVE=libc.so.* libm.so.* libstdc++.so.* libpthread.so.* linux-vdso.so. build: linkall @echo "Bindings and drivers are ready to packaging!" + $(MAKE) -f gdal-makefile formats-output linkall: initdirs copy-deps copy-projdb collect-bindings $(eval _so_out_:=$(wildcard $(OUTPUT)/*.so*)) diff --git a/unix/gdal-makefile b/unix/gdal-makefile index c2be755ad..3bc595507 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -169,7 +169,6 @@ build_%: @echo "$(TO) $(LW) Building..." @cd "$(BUILD_ROOT)/$(LW)-cmake-temp" && cmake --build . -j4 --target install || exit 1 @echo "$(TO) $(LW) was built successfully!" - $(MAKE) -f gdal-makefile formats-output __LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: From 644212979d33b0e415853e2dd93d51e0a7d3ebf8 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 15:14:19 +0300 Subject: [PATCH 042/137] Updates --- osx/collect-deps-makefile | 2 +- unix/collect-deps-makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index da88b38b0..343bcfc5c 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -32,7 +32,7 @@ $(WRAP_TARGETS): force build: linkall @echo "Bindings and drivers are ready to packaging!" - $(MAKE) -f gdal-makefile formats-output + (cd $(GDAL_BUILD)/bin/ && $(MAKE) -f gdal-makefile formats-output) linkall: initdirs copy-projdb collect-bindings copy-deps @echo "Libraries patched successfully" diff --git a/unix/collect-deps-makefile b/unix/collect-deps-makefile index 9a22a3696..52a0c8873 100644 --- a/unix/collect-deps-makefile +++ b/unix/collect-deps-makefile @@ -19,7 +19,7 @@ LIBS_TO_REMOVE=libc.so.* libm.so.* libstdc++.so.* libpthread.so.* linux-vdso.so. build: linkall @echo "Bindings and drivers are ready to packaging!" - $(MAKE) -f gdal-makefile formats-output + (cd $(GDAL_BUILD)/bin/ && $(MAKE) -f gdal-makefile formats-output) linkall: initdirs copy-deps copy-projdb collect-bindings $(eval _so_out_:=$(wildcard $(OUTPUT)/*.so*)) From b401b02ebbd83580ae65f47c2678d912617a9a50 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 16:13:20 +0300 Subject: [PATCH 043/137] Updates --- osx/collect-deps-makefile | 2 +- osx/gdal-makefile | 12 ++++++------ unix/collect-deps-makefile | 2 +- unix/gdal-makefile | 12 ++++++------ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/osx/collect-deps-makefile b/osx/collect-deps-makefile index 343bcfc5c..da88b38b0 100644 --- a/osx/collect-deps-makefile +++ b/osx/collect-deps-makefile @@ -32,7 +32,7 @@ $(WRAP_TARGETS): force build: linkall @echo "Bindings and drivers are ready to packaging!" - (cd $(GDAL_BUILD)/bin/ && $(MAKE) -f gdal-makefile formats-output) + $(MAKE) -f gdal-makefile formats-output linkall: initdirs copy-projdb collect-bindings copy-deps @echo "Libraries patched successfully" diff --git a/osx/gdal-makefile b/osx/gdal-makefile index eeddd0993..3f4d110db 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -179,14 +179,14 @@ build_%: __DYLIBS_GDAL=DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: @mkdir -p $(TEST_FORMATS_OUTPUT) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ - ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx.txt) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ - ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-raster.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-raster.txt) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ - ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-vector.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-vector.txt) reset: reset_proj reset_gdal @echo "$(TO) Reset ALL is complete" diff --git a/unix/collect-deps-makefile b/unix/collect-deps-makefile index 52a0c8873..9a22a3696 100644 --- a/unix/collect-deps-makefile +++ b/unix/collect-deps-makefile @@ -19,7 +19,7 @@ LIBS_TO_REMOVE=libc.so.* libm.so.* libstdc++.so.* libpthread.so.* linux-vdso.so. build: linkall @echo "Bindings and drivers are ready to packaging!" - (cd $(GDAL_BUILD)/bin/ && $(MAKE) -f gdal-makefile formats-output) + $(MAKE) -f gdal-makefile formats-output linkall: initdirs copy-deps copy-projdb collect-bindings $(eval _so_out_:=$(wildcard $(OUTPUT)/*.so*)) diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 3bc595507..584ff3666 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -173,14 +173,14 @@ build_%: __LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: @mkdir -p $(TEST_FORMATS_OUTPUT) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ - ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix.txt) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ - ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-raster.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-raster.txt) - @cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ - ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-vector.txt + (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-vector.txt) reset: reset_proj reset_gdal @echo "$(TO) Reset ALL is complete" From b037a3ec75ad499fb727f9dcadc07a5f17c960b8 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 16:55:06 +0300 Subject: [PATCH 044/137] Updates --- osx/gdal-makefile | 6 +++--- unix/gdal-makefile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 3f4d110db..f730477db 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -179,13 +179,13 @@ build_%: __DYLIBS_GDAL=DYLD_LIBRARY_PATH=$(DYLD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: @mkdir -p $(TEST_FORMATS_OUTPUT) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx.txt) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-raster.txt) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__DYLIBS_GDAL) \ ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-osx-vector.txt) reset: reset_proj reset_gdal diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 584ff3666..81f8f8076 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -173,13 +173,13 @@ build_%: __LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: @mkdir -p $(TEST_FORMATS_OUTPUT) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix.txt) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-raster.txt) - (@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-vector.txt) reset: reset_proj reset_gdal From dddef275b6f32916c34dd9f3f196cec80e566f5e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 16:55:29 +0300 Subject: [PATCH 045/137] Updates --- unix/gdal-makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 81f8f8076..4d47f406b 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -173,13 +173,13 @@ build_%: __LIBS_GDAL=LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(BUILD_ROOT)/gdal-build/lib formats-output: @mkdir -p $(TEST_FORMATS_OUTPUT) - @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./gdal-config --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix.txt) - @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./gdalinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-raster.txt) - @(@cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ + @(cd $(BUILD_ROOT)/gdal-build/bin && $(__LIBS_GDAL) \ ./ogrinfo --formats > $(TEST_FORMATS_OUTPUT)/gdal-formats-unix-vector.txt) reset: reset_proj reset_gdal From 8f4bf65fcf91e239f1c152dad0bf008545a38f1d Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 18:21:08 +0300 Subject: [PATCH 046/137] Updates --- unix/gdal-makefile | 1 - unix/publish-makefile | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 4d47f406b..6f2923b1c 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -118,7 +118,6 @@ configure_gdal: -DCMAKE_CXX_FLAGS="-fPIC" \ -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 \ diff --git a/unix/publish-makefile b/unix/publish-makefile index 7ca143113..281353766 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -23,10 +23,10 @@ generate-projects: update-targets: cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal.$(BUILD_ARCH) \ - --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core \ - --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) $(PRERELEASE_ARG) + --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) # remove source and ignore the error. this source was added by GDAL. prepare: From bad9154f525f3dfd9c766442890f719a932cd781 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 31 May 2024 19:39:28 +0300 Subject: [PATCH 047/137] Updates --- .github/workflows/macos.yml | 4 ++-- ci/Dockerfile.unix | 1 + ci/extract-container-artifacts.sh | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e2c58c931..095f0c634 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -169,7 +169,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: - working-directory: unix + working-directory: osx steps: - name: Checkout repository uses: actions/checkout@v4 @@ -211,4 +211,4 @@ jobs: - name: Push packages if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | - make -f push-packages-makefile BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} \ No newline at end of file + make -f ../unix/push-packages-makefile BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} \ No newline at end of file diff --git a/ci/Dockerfile.unix b/ci/Dockerfile.unix index 666ac60a3..14564f2c4 100644 --- a/ci/Dockerfile.unix +++ b/ci/Dockerfile.unix @@ -102,6 +102,7 @@ COPY --from=gdalbuild /build/build-unix /build/build-unix COPY --from=gdalbuild /build/shared /build/shared COPY --from=gdalbuild /build/ci/cache/vcpkg-archives/ /build/ci/cache/vcpkg-archives/ COPY --from=gdalbuild /build/package-build/ /build/package-build/ +COPY --from=gdalbuild /build/tests/gdal-formats /build/tests/gdal-formats # copy nuget packages from build COPY --from=gdalbuild /build/nuget /build/nuget ENTRYPOINT ["bash"] \ No newline at end of file diff --git a/ci/extract-container-artifacts.sh b/ci/extract-container-artifacts.sh index 3a7b028ad..2a713591c 100755 --- a/ci/extract-container-artifacts.sh +++ b/ci/extract-container-artifacts.sh @@ -28,6 +28,10 @@ docker cp $containerName:/build/ci/cache/vcpkg-archives "$outputDir/ci/cache/" mkdir -p "$outputDir/shared/bundle" docker cp $containerName:/build/shared/bundle/targets "$outputDir/shared/bundle/" +# extract gdal formats +mkdir -p "$outputDir/tests/gdal-formats" +docker cp $containerName:/build/tests/gdal-formats/ "$outputDir/tests/gdal-formats/" + mkdir -p "$outputDir/package-build" docker cp $containerName:/build/package-build/ "$outputDir/" From ade172af14097bae97f2ac04664590fc60c9c939 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 01:29:37 +0300 Subject: [PATCH 048/137] Updates --- win/partials.psm1 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/win/partials.psm1 b/win/partials.psm1 index 87eaec861..d88edd72e 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -240,9 +240,6 @@ function Build-Gdal { Remove-Item -Path $env:GDAL_SOURCE/autotest -Recurse -Force -ErrorAction SilentlyContinue # PATCH 2: apply patch to cmake pipeline. remove redundant compile steps git apply "$PSScriptRoot\..\shared\patch\CMakeLists.txt.patch" - # PATCH 3: apply patch for FindSPATIALITE - git apply "$PSScriptRoot\..\shared\patch\FindSPATIALITE.cmake.patch" - New-FolderIfNotExistsAndSetCurrentLocation $env:GdalCmakeBuild New-FolderIfNotExists "$PSScriptRoot\..\nuget" @@ -303,7 +300,7 @@ function Build-CsharpBindings { Write-GdalFormats Set-Location $PSScriptRoot - + exec { & nmake -f collect-deps-makefile.vc } Build-GenerateProjectFiles -packageVersion $packageVersion From d87049128d3eeda9ebec134eabca33bb169d0673 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 04:24:39 +0300 Subject: [PATCH 049/137] Updates --- .github/workflows/macos.yml | 11 ++++---- .github/workflows/unix.yml | 9 +++--- .github/workflows/windows.yml | 15 +++++----- osx/RID.opt | 1 + shared/GdalCore.opt | 5 ++++ .../{default.targets => default.targets.in} | 6 ++-- .../templates/gdalcore.linuxruntime.csproj.in | 6 +++- .../templates/gdalcore.macosruntime.csproj.in | 6 +++- .../gdalcore.windowsruntime.csproj.in | 6 +++- unix/RID.opt | 3 +- unix/generate-projects-makefile | 28 +++++++++++++++++-- win/RID.opt | 6 ++-- 12 files changed, 73 insertions(+), 29 deletions(-) rename shared/msbuild/{default.targets => default.targets.in} (79%) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 095f0c634..2da93fb06 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -187,15 +187,14 @@ jobs: pattern: metadata-osx* merge-multiple: true - - run: ls -la ../nuget/ - - name: NuGet - Update credentials - run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} + run: | + (cd ${{ github.workspace}} && dotnet new nugetconfig) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Build bundle run: | diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 5c037022a..e83ebcdb1 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -218,12 +218,13 @@ jobs: merge-multiple: true - name: NuGet - Update credentials - run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} + run: | + (cd ${{ github.workspace}} && dotnet new nugetconfig) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Build bundle run: | diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 1c4bf00dc..66f17058b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -143,16 +143,15 @@ jobs: pattern: packages-win* merge-multiple: true path: nuget/ - - - run: ls -la ../nuget/ - name: NuGet - Update credentials - run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config + run: | + (cd ${{ github.workspace}} && dotnet new nugetconfig) + dotnet nuget remove source local > /dev/null || : + dotnet nuget remove source local.ci > /dev/null || : + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Push packages if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} diff --git a/osx/RID.opt b/osx/RID.opt index 65e7b4285..8b77768ba 100644 --- a/osx/RID.opt +++ b/osx/RID.opt @@ -5,6 +5,7 @@ # BASE=$(PWD) BASE_RUNTIME_RID=osx +TARGET_OS=$(BASE_RUNTIME_RID) BUILD_ARCH=arm64 VCPKG_RID=$(BUILD_ARCH)-$(BASE_RUNTIME_RID) diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 44e86e935..0183e606e 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -114,6 +114,11 @@ RUNTIME_PROJECT_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.bundle.final.csproj RUNTIME_PROJECT_BUNDLE_UNIX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.bundle.final.csproj RUNTIME_PROJECT_BUNDLE_OSX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.macosruntime.bundle.final.csproj +PACKAGE_NAME_CORE=MaxRev.Gdal.Core +PACKAGE_NAME_RUNTIME=MaxRev.Gdal.Core.$(RUNTIME_PACKAGE_PARTIAL).Minimal +RUNTIME_TARGET_BUNDLE=$(ROOTDIR_)/shared/msbuild/default.targets.in +RUNTIME_TARGET_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).$(BUILD_ARCH).targets + GIT=git GIT_CLEAN=$(GIT) clean -fqdx GIT_CLONE_DEPTH=--depth=1 diff --git a/shared/msbuild/default.targets b/shared/msbuild/default.targets.in similarity index 79% rename from shared/msbuild/default.targets rename to shared/msbuild/default.targets.in index c7b145379..692890ead 100644 --- a/shared/msbuild/default.targets +++ b/shared/msbuild/default.targets.in @@ -7,9 +7,9 @@ $(MaxRevGdalOutputBase)\ - - - + + + $(MaxRevGdalOutputBase)%(Filename)%(Extension) PreserveNewest diff --git a/shared/templates/gdalcore.linuxruntime.csproj.in b/shared/templates/gdalcore.linuxruntime.csproj.in index 19c8fc529..074f48d1d 100644 --- a/shared/templates/gdalcore.linuxruntime.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.csproj.in @@ -3,7 +3,7 @@ ${_BUILD_ARCH} portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true @@ -37,5 +37,9 @@ runtimes/linux-${_BUILD_ARCH}/native/ true + + build/net461/ + true + \ No newline at end of file diff --git a/shared/templates/gdalcore.macosruntime.csproj.in b/shared/templates/gdalcore.macosruntime.csproj.in index 7263b08bf..3cd7aa9c5 100644 --- a/shared/templates/gdalcore.macosruntime.csproj.in +++ b/shared/templates/gdalcore.macosruntime.csproj.in @@ -3,7 +3,7 @@ ${_BUILD_ARCH} portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true @@ -37,5 +37,9 @@ runtimes/osx-${_BUILD_ARCH}/native/ true + + build/net461/ + true + \ No newline at end of file diff --git a/shared/templates/gdalcore.windowsruntime.csproj.in b/shared/templates/gdalcore.windowsruntime.csproj.in index b12a0b9dd..691e45581 100644 --- a/shared/templates/gdalcore.windowsruntime.csproj.in +++ b/shared/templates/gdalcore.windowsruntime.csproj.in @@ -3,7 +3,7 @@ ${_BUILD_ARCH} portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 MaxRev © 2024 MaxRev true @@ -38,5 +38,9 @@ runtimes/win-${_BUILD_ARCH}/native/ true + + build/net45/ + true + \ No newline at end of file diff --git a/unix/RID.opt b/unix/RID.opt index 1ffb43b9e..4a740b665 100644 --- a/unix/RID.opt +++ b/unix/RID.opt @@ -6,7 +6,8 @@ BASE=$(PWD) BASE_RUNTIME_RID=unix BUILD_ARCH=arm64 -VCPKG_RID=$(BUILD_ARCH)-linux +TARGET_OS=linux +VCPKG_RID=$(BUILD_ARCH)-$(TARGET_OS) # .NET RID RID=linux-$(BUILD_ARCH) diff --git a/unix/generate-projects-makefile b/unix/generate-projects-makefile index 976d28dc1..de81a03d1 100644 --- a/unix/generate-projects-makefile +++ b/unix/generate-projects-makefile @@ -1,6 +1,10 @@ +THIS_FILE := $(lastword $(MAKEFILE_LIST)) include RID.opt include ../shared/GdalCore.opt include ../shared/bundle/base.opt +-include ../shared/bundle/targets/osx.opt +-include ../shared/bundle/targets/unix.opt +-include ../shared/bundle/targets/win.opt RUNTIME_PROJECT=$(RUNTIME_PROJECT_LINUX) IN_FILE= @@ -13,11 +17,15 @@ export _PROJ_VERSION=$(PROJ_VERSION) export _GEOS_VERSION=$(GEOS_VERSION) export _ROOT_RELATIVE_PATH=.. export _PACKAGE_BUILD_NUMBER=$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER) +export _PACKAGE_NAME_RUNTIME=$(PACKAGE_NAME_RUNTIME) +export _RID=$(BUILD_ARCH) +export _TARGET_OS=$(TARGET_OS) +export _BUILD_ARCH=$(BUILD_ARCH) ONSUBST='$${_BUILD_ARCH} $${_GEOS_VERSION} $${_ROOT_RELATIVE_PATH} $${_GDAL_VERSION} $${_PROJ_VERSION} $${_PACKAGE_BUILD_NUMBER}' # substitute all variables in template project files -generate-projects: generate-build-base generate-bundles-$(CAT_NAME) +generate-projects: generate-build-base generate-bundles-$(CAT_NAME) generate-targets @mkdir -p $(dir $(GDALCORE_PROJECT_FINAL)) @cat $(GDALCORE_PROJECT) | envsubst $${ONSUBST} > $(GDALCORE_PROJECT_FINAL) @cat $(RUNTIME_PROJECT_LINUX) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_LINUX_FINAL) @@ -51,4 +59,20 @@ generate-bundles-win: get-version: @grep -o "[Vv]ersion:\s.*" $(IN_FILE) | cut -d: -f2 | xargs - \ No newline at end of file + +generate-target-single: + @echo "Generating target file $(RID)" + @echo " TARGET_OS: $(TARGET_OS)" + @echo " BUILD_ARCH: $(BUILD_ARCH)" + @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" + @echo " BASE_RUNTIME_RID: $(BASE_RUNTIME_RID)" + @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL) + +generate-targets: + @echo "Generating target files..." + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime BASE_RUNTIME_RID=osx BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime BASE_RUNTIME_RID=osx BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BASE_RUNTIME_RID=linux BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BASE_RUNTIME_RID=linux BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=WindowsRuntime BASE_RUNTIME_RID=win BUILD_ARCH=x64 + diff --git a/win/RID.opt b/win/RID.opt index d68cb7d89..b883476de 100644 --- a/win/RID.opt +++ b/win/RID.opt @@ -5,10 +5,12 @@ # BASE = $(MAKEDIR) BASE_RUNTIME_RID = win -VCPKG_RID = x64-windows +TARGET_OS = $(BASE_RUNTIME_RID) +BUILD_ARCH = x64 +VCPKG_RID = $(BUILD_ARCH)-windows # .NET RID -RID = win-x64 +RID = $(BASE_RUNTIME_RID)-$(BUILD_ARCH) SWIG = swig COPY = copy From 5402ab9e655555c0666c9a6e67915f5afc45bf8d Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 04:48:00 +0300 Subject: [PATCH 050/137] Updates --- unix/publish-makefile | 4 ++-- win/partials.psm1 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/unix/publish-makefile b/unix/publish-makefile index 281353766..9513a44b7 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -18,7 +18,7 @@ RUNTIME_PACKAGE_PARTIAL=LinuxRuntime all: prepare pack generate-projects: - $(MAKE) -f ../unix/generate-projects-makefile CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) + $(MAKE) -f ../unix/generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=${RUNTIME_PACKAGE_PARTIAL} CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) update-targets: cd $(PACKAGE_BUILD_ROOT) && \ @@ -30,7 +30,7 @@ update-targets: # remove source and ignore the error. this source was added by GDAL. prepare: - -dotnet nuget remove source local + -@dotnet nuget remove source local pack-core: generate-projects dotnet pack -c Release -o $(NUGET_) $(GDALCORE_PROJECT_FINAL) diff --git a/win/partials.psm1 b/win/partials.psm1 index d88edd72e..03b1a63a2 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -283,7 +283,7 @@ function Build-GenerateProjectFiles { # generate project files for C# bindings Write-BuildStep "Generating project files for GDAL C# bindings" - exec { & $env:GitBash -c "make -f generate-projects-makefile CAT_NAME=win BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } + exec { & $env:GitBash -c "make -f generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=WindowsRuntime CAT_NAME=win BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } Write-BuildStep "Done generating project files" } From f2d811b71013fc71fb1b52e66cb831fba353764b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 13:45:43 +0300 Subject: [PATCH 051/137] Updates --- .github/workflows/macos.yml | 2 +- .github/workflows/unix.yml | 2 +- .github/workflows/windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2da93fb06..05394e291 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -189,7 +189,7 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig) + (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index e83ebcdb1..6270d9bf7 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -219,7 +219,7 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig) + (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 66f17058b..a0ffbce87 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -146,7 +146,7 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig) + (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" From c055c5558e6f16716ba7b23ccef8f065384cb428 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 14:46:18 +0300 Subject: [PATCH 052/137] Updates --- .github/workflows/macos.yml | 5 ++--- .github/workflows/unix.yml | 5 ++--- .github/workflows/windows.yml | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 05394e291..23e5c48b6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -10,7 +10,6 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} -# cancel-in-progress: true env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet/ @@ -192,8 +191,8 @@ jobs: (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Build bundle diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 6270d9bf7..ee8984b20 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -10,7 +10,6 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true env: DOCKER_REGISTRY: ghcr.io/maxrev-dev @@ -222,8 +221,8 @@ jobs: (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Build bundle diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a0ffbce87..21ba856c6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,7 +10,6 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet @@ -149,8 +148,8 @@ jobs: (cd ${{ github.workspace}} && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile "${{ github.workspace}}/nuget.config" - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile "${{ github.workspace}}/nuget.config" + dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} + dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - name: Push packages From 4d8203005ea981e63db68d6c96ccffa5fd0ef7b4 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 1 Jun 2024 16:34:04 +0300 Subject: [PATCH 053/137] Updates --- .github/workflows/configure-nuget-sources.sh | 5 +++++ .github/workflows/macos.yml | 21 +++++++++---------- .github/workflows/unix.yml | 13 ++++++------ .github/workflows/windows.yml | 22 +++++++++----------- 4 files changed, 31 insertions(+), 30 deletions(-) create mode 100644 .github/workflows/configure-nuget-sources.sh diff --git a/.github/workflows/configure-nuget-sources.sh b/.github/workflows/configure-nuget-sources.sh new file mode 100644 index 000000000..442d6a11e --- /dev/null +++ b/.github/workflows/configure-nuget-sources.sh @@ -0,0 +1,5 @@ +(cd ../.. && dotnet new nugetconfig --force) +dotnet nuget remove source local > /dev/null || : +dotnet nuget remove source local.ci > /dev/null || : +dotnet nuget remove source github > /dev/null || : +dotnet nuget remove source nuget.org > /dev/null || : \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 23e5c48b6..c9a9764f6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -152,11 +152,11 @@ jobs: - name: NuGet - Update credentials run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - dotnet nuget remove source local > /dev/null || : - dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ../nuget.config + ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ + --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ + --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - name: Test packages run: | @@ -188,12 +188,11 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig --force) - dotnet nuget remove source local > /dev/null || : - dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" + ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ + --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ + --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - name: Build bundle run: | diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index ee8984b20..9d2637c12 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -218,13 +218,12 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig --force) - dotnet nuget remove source local > /dev/null || : - dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - + ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ + --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ + --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config + - name: Build bundle run: | make -f publish-makefile pack-bundle-only CAT_NAME=unix PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 21ba856c6..e0e847cb6 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -108,11 +108,11 @@ jobs: - name: NuGet - Update credentials run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - dotnet nuget remove source local 1>$null - dotnet nuget remove source local.ci 1>$null - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci + ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ + --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ + --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config shell: pwsh - name: Test packages @@ -145,13 +145,11 @@ jobs: - name: NuGet - Update credentials run: | - (cd ${{ github.workspace}} && dotnet new nugetconfig --force) - dotnet nuget remove source local > /dev/null || : - dotnet nuget remove source local.ci > /dev/null || : - dotnet nuget add source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget add source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile "${{ github.workspace}}/nuget.config" - + ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ + --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ + --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - name: Push packages if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | From fd150fa432153239d34a48b2843a4f2b7dc26dc0 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 00:36:03 +0300 Subject: [PATCH 054/137] Updates --- .github/actions/set-credentials.yml | 27 ++++++++++++++++++ .github/workflows/configure-nuget-sources.sh | 5 ---- .github/workflows/macos.yml | 30 ++++++++++---------- .github/workflows/unix.yml | 16 +++++------ .github/workflows/windows.yml | 30 ++++++++++---------- 5 files changed, 65 insertions(+), 43 deletions(-) create mode 100644 .github/actions/set-credentials.yml delete mode 100644 .github/workflows/configure-nuget-sources.sh diff --git a/.github/actions/set-credentials.yml b/.github/actions/set-credentials.yml new file mode 100644 index 000000000..96a95535f --- /dev/null +++ b/.github/actions/set-credentials.yml @@ -0,0 +1,27 @@ +runs: + using: "composite" + description: "Set credentials for NuGet & GitHub packages" + inputs: + api-key-github: + required: true + description: "GitHub API key" + api-user-github: + required: true + description: "GitHub API user" + api-key-nuget: + required: true + description: "NuGet API key" + api-user-nuget: + required: true + description: "NuGet API user" + + steps: + - name: NuGet - Update credentials + run: | + (cd ../.. && dotnet new nugetconfig --force) + dotnet nuget remove source local > /dev/null || : + dotnet nuget remove source local.ci > /dev/null || : + dotnet nuget remove source github > /dev/null || : + dotnet nuget remove source nuget.org > /dev/null || : + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ../nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ../nuget.config \ No newline at end of file diff --git a/.github/workflows/configure-nuget-sources.sh b/.github/workflows/configure-nuget-sources.sh deleted file mode 100644 index 442d6a11e..000000000 --- a/.github/workflows/configure-nuget-sources.sh +++ /dev/null @@ -1,5 +0,0 @@ -(cd ../.. && dotnet new nugetconfig --force) -dotnet nuget remove source local > /dev/null || : -dotnet nuget remove source local.ci > /dev/null || : -dotnet nuget remove source github > /dev/null || : -dotnet nuget remove source nuget.org > /dev/null || : \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index c9a9764f6..44507460b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -150,13 +150,13 @@ jobs: with: dotnet-version: ${{ env.DOTNET_VERSION }} - - name: NuGet - Update credentials - run: | - ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ - --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ - --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config + - name: NuGet - set credentials + uses: .github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} - name: Test packages run: | @@ -185,15 +185,15 @@ jobs: with: pattern: metadata-osx* merge-multiple: true - - - name: NuGet - Update credentials - run: | - ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ - --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ - --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config + - name: NuGet - set credentials + uses: .github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + - name: Build bundle run: | make -f publish-makefile pack-bundle-only CAT_NAME=osx PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 9d2637c12..d546dcba2 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -216,14 +216,14 @@ jobs: pattern: metadata-unix* merge-multiple: true - - name: NuGet - Update credentials - run: | - ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ - --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ - --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - + - name: NuGet - set credentials + uses: .github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + - name: Build bundle run: | make -f publish-makefile pack-bundle-only CAT_NAME=unix PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e0e847cb6..2eeb9c9b8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -106,14 +106,13 @@ jobs: with: dotnet-version: ${{ env.DOTNET_VERSION }} - - name: NuGet - Update credentials - run: | - ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ - --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ - --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config - shell: pwsh + - name: NuGet - set credentials + uses: .github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} - name: Test packages run: ./test.ps1 -buildNumberTail ${{ github.run_number }} -preRelease $${{ env.IS_PRE_RELEASE }} @@ -143,13 +142,14 @@ jobs: merge-multiple: true path: nuget/ - - name: NuGet - Update credentials - run: | - ${{ github.workspace }}/.github/workflows/configure-nuget-sources.sh - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github \ - --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org \ - --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} --configfile ../nuget.config + - name: NuGet - set credentials + uses: .github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + - name: Push packages if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | From 3db6bde55f0da6bda393a7f4a5d9980035776f8a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 00:38:38 +0300 Subject: [PATCH 055/137] Updates --- .github/workflows/macos.yml | 4 ++-- .github/workflows/unix.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 44507460b..09d234151 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -151,7 +151,7 @@ jobs: dotnet-version: ${{ env.DOTNET_VERSION }} - name: NuGet - set credentials - uses: .github/actions/set-credentials + uses: ${{ github.workspace }}/.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} @@ -187,7 +187,7 @@ jobs: merge-multiple: true - name: NuGet - set credentials - uses: .github/actions/set-credentials + uses: ${{ github.workspace }}/.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index d546dcba2..b4d432ef0 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -217,7 +217,7 @@ jobs: merge-multiple: true - name: NuGet - set credentials - uses: .github/actions/set-credentials + uses: ${{ github.workspace }}/.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2eeb9c9b8..06109b541 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -107,7 +107,7 @@ jobs: dotnet-version: ${{ env.DOTNET_VERSION }} - name: NuGet - set credentials - uses: .github/actions/set-credentials + uses: ${{ github.workspace }}/.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} @@ -143,7 +143,7 @@ jobs: path: nuget/ - name: NuGet - set credentials - uses: .github/actions/set-credentials + uses: ${{ github.workspace }}/.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} From 8314095847bcef21327ae525098d683d1dbb715b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 00:40:42 +0300 Subject: [PATCH 056/137] Updates --- .github/workflows/macos.yml | 4 ++-- .github/workflows/unix.yml | 2 +- .github/workflows/windows.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 09d234151..f46ddf9ec 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -151,7 +151,7 @@ jobs: dotnet-version: ${{ env.DOTNET_VERSION }} - name: NuGet - set credentials - uses: ${{ github.workspace }}/.github/actions/set-credentials + uses: ./.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} @@ -187,7 +187,7 @@ jobs: merge-multiple: true - name: NuGet - set credentials - uses: ${{ github.workspace }}/.github/actions/set-credentials + uses: ./.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index b4d432ef0..06cc37a65 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -217,7 +217,7 @@ jobs: merge-multiple: true - name: NuGet - set credentials - uses: ${{ github.workspace }}/.github/actions/set-credentials + uses: ./.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 06109b541..3b1008320 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -107,7 +107,7 @@ jobs: dotnet-version: ${{ env.DOTNET_VERSION }} - name: NuGet - set credentials - uses: ${{ github.workspace }}/.github/actions/set-credentials + uses: ./.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} @@ -143,7 +143,7 @@ jobs: path: nuget/ - name: NuGet - set credentials - uses: ${{ github.workspace }}/.github/actions/set-credentials + uses: ./.github/actions/set-credentials with: api-key-github: ${{ secrets.API_KEY_GITHUB }} api-key-nuget: ${{ secrets.API_KEY_NUGET }} From bdab56d00304797728aac01aac7813e2ca3e2173 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 01:34:47 +0300 Subject: [PATCH 057/137] Updates --- .../actions/{set-credentials.yml => set-credentials/action.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/actions/{set-credentials.yml => set-credentials/action.yml} (100%) diff --git a/.github/actions/set-credentials.yml b/.github/actions/set-credentials/action.yml similarity index 100% rename from .github/actions/set-credentials.yml rename to .github/actions/set-credentials/action.yml From 8bcdfa9275c4dfc61e8e0e6c2b698dd6d9fcc74b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 02:31:51 +0300 Subject: [PATCH 058/137] Updates --- .github/actions/set-credentials/action.yml | 35 ++++++++++++---------- .github/workflows/windows.yml | 2 ++ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 96a95535f..1cfdb5e11 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -1,22 +1,27 @@ + +description: "Set credentials for NuGet & GitHub packages" +inputs: + api-key-github: + required: true + description: "GitHub API key" + api-user-github: + required: true + description: "GitHub API user" + api-key-nuget: + required: true + description: "NuGet API key" + api-user-nuget: + required: true + description: "NuGet API user" + shell: + required: false + description: "Shell to use" + default: "bash" runs: using: "composite" - description: "Set credentials for NuGet & GitHub packages" - inputs: - api-key-github: - required: true - description: "GitHub API key" - api-user-github: - required: true - description: "GitHub API user" - api-key-nuget: - required: true - description: "NuGet API key" - api-user-nuget: - required: true - description: "NuGet API user" - steps: - name: NuGet - Update credentials + shell: ${{ inputs.shell }} run: | (cd ../.. && dotnet new nugetconfig --force) dotnet nuget remove source local > /dev/null || : diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3b1008320..78831e4f4 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -113,6 +113,7 @@ jobs: api-key-nuget: ${{ secrets.API_KEY_NUGET }} api-user-github: ${{ secrets.API_USER_GITHUB }} api-user-nuget: ${{ secrets.API_USER_NUGET }} + shell: pwsh - name: Test packages run: ./test.ps1 -buildNumberTail ${{ github.run_number }} -preRelease $${{ env.IS_PRE_RELEASE }} @@ -149,6 +150,7 @@ jobs: api-key-nuget: ${{ secrets.API_KEY_NUGET }} api-user-github: ${{ secrets.API_USER_GITHUB }} api-user-nuget: ${{ secrets.API_USER_NUGET }} + shell: pwsh - name: Push packages if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} From 853afa506642eb64135836700d5e3f73a4717e44 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 03:31:10 +0300 Subject: [PATCH 059/137] Updates --- .github/actions/set-credentials/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 1cfdb5e11..d6bad5e43 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -23,10 +23,10 @@ runs: - name: NuGet - Update credentials shell: ${{ inputs.shell }} run: | - (cd ../.. && dotnet new nugetconfig --force) + dotnet new nugetconfig --force dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget remove source github > /dev/null || : dotnet nuget remove source nuget.org > /dev/null || : - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ../nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ../nuget.config \ No newline at end of file + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file From eed811fe72a72d30e992a5e39330eb283d592b67 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 22:00:05 +0300 Subject: [PATCH 060/137] Updates --- .github/actions/set-credentials/action.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index d6bad5e43..aaaf651bd 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -23,10 +23,9 @@ runs: - name: NuGet - Update credentials shell: ${{ inputs.shell }} run: | - dotnet new nugetconfig --force dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget remove source github > /dev/null || : dotnet nuget remove source nuget.org > /dev/null || : - dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file + dotnet nuget update source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config + dotnet nuget update source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file From afd460b02bbda4d4495af1062e2fce94ba68f6ef Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:14:15 +0300 Subject: [PATCH 061/137] Updates --- .github/actions/set-credentials/action.yml | 20 +++++++++++++++++--- .github/workflows/macos.yml | 10 +++++++++- .github/workflows/unix.yml | 8 ++++++++ .github/workflows/windows.yml | 11 ++++++++++- 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index aaaf651bd..49e04b7a9 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -20,12 +20,26 @@ inputs: runs: using: "composite" steps: - - name: NuGet - Update credentials + - name: NuGet - Update credentials windows + if: ${{ inputs.shell == 'pwsh' }} + shell: ${{ inputs.shell }} + run: | + dotnet new nugetconfig --force + dotnet nuget remove source local > $null -ErrorAction SilentlyContinue + dotnet nuget remove source local.ci > $null -ErrorAction SilentlyContinue + dotnet nuget remove source github > $null -ErrorAction SilentlyContinue + dotnet nuget remove source nuget.org > $null -ErrorAction SilentlyContinue + dotnet nuget update source github --source https://nuget.pkg.github.com/MaxRev-Dev/index.json --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config + dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config + + - name: NuGet - Update credentials unix + if: ${{ inputs.shell == 'bash' }} shell: ${{ inputs.shell }} run: | + dotnet new nugetconfig --force dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget remove source github > /dev/null || : dotnet nuget remove source nuget.org > /dev/null || : - dotnet nuget update source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config - dotnet nuget update source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file + dotnet nuget update source github --source https://nuget.pkg.github.com/MaxRev-Dev/index.json --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config + dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f46ddf9ec..0e3286286 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -36,7 +36,15 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v4 + + - name: NuGet - set credentials + uses: ./.github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} - name: Select Xcode version run: sudo xcode-select -s '/Applications/Xcode_14.3.1.app/Contents/Developer' diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 06cc37a65..475ba90a0 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -42,6 +42,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: NuGet - set credentials + uses: ./.github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + - name: Set up QEMU uses: docker/setup-qemu-action@v3 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 78831e4f4..8c6ba6882 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -30,7 +30,16 @@ jobs: steps: - uses: actions/checkout@v3.0.0 with: - fetch-depth: 0 + fetch-depth: 0 + + - name: NuGet - set credentials + uses: ./.github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + shell: pwsh - name: Restore cached packages id: build-packages-cache-restore From 5b89c098deb0199cc3833bb4377f1eaf9fef93dd Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:34:28 +0300 Subject: [PATCH 062/137] Updates --- .github/actions/set-credentials/action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 49e04b7a9..374958043 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -29,8 +29,8 @@ runs: dotnet nuget remove source local.ci > $null -ErrorAction SilentlyContinue dotnet nuget remove source github > $null -ErrorAction SilentlyContinue dotnet nuget remove source nuget.org > $null -ErrorAction SilentlyContinue - dotnet nuget update source github --source https://nuget.pkg.github.com/MaxRev-Dev/index.json --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config - dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} @@ -41,5 +41,5 @@ runs: dotnet nuget remove source local.ci > /dev/null || : dotnet nuget remove source github > /dev/null || : dotnet nuget remove source nuget.org > /dev/null || : - dotnet nuget update source github --source https://nuget.pkg.github.com/MaxRev-Dev/index.json --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} --configfile ./nuget.config - dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} --configfile ./nuget.config \ No newline at end of file + dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} + dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file From 03739fb73b6eeb8865e7f3d2797913d4e8edd013 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:41:38 +0300 Subject: [PATCH 063/137] Updates --- .github/actions/set-credentials/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 374958043..31a11fead 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -24,11 +24,11 @@ runs: if: ${{ inputs.shell == 'pwsh' }} shell: ${{ inputs.shell }} run: | - dotnet new nugetconfig --force dotnet nuget remove source local > $null -ErrorAction SilentlyContinue dotnet nuget remove source local.ci > $null -ErrorAction SilentlyContinue dotnet nuget remove source github > $null -ErrorAction SilentlyContinue dotnet nuget remove source nuget.org > $null -ErrorAction SilentlyContinue + dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} @@ -36,10 +36,10 @@ runs: if: ${{ inputs.shell == 'bash' }} shell: ${{ inputs.shell }} run: | - dotnet new nugetconfig --force dotnet nuget remove source local > /dev/null || : dotnet nuget remove source local.ci > /dev/null || : dotnet nuget remove source github > /dev/null || : dotnet nuget remove source nuget.org > /dev/null || : + dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file From 122925f365828686af2a0bf3ecc621b4bd8c57ad Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:43:55 +0300 Subject: [PATCH 064/137] Updates --- .github/actions/set-credentials/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 31a11fead..0503e6864 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -30,7 +30,7 @@ runs: dotnet nuget remove source nuget.org > $null -ErrorAction SilentlyContinue dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} + dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} @@ -42,4 +42,4 @@ runs: dotnet nuget remove source nuget.org > /dev/null || : dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} - dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file + dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file From a1a27e9ea56148d5dcb9c2cbc46551cd265fc235 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:45:40 +0300 Subject: [PATCH 065/137] Updates --- .github/actions/set-credentials/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 0503e6864..16db28328 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -30,7 +30,7 @@ runs: dotnet nuget remove source nuget.org > $null -ErrorAction SilentlyContinue dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} - dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} + dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} @@ -42,4 +42,4 @@ runs: dotnet nuget remove source nuget.org > /dev/null || : dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} - dotnet nuget update source nuget.org --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file + dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file From 139df4fb9636536c6aeeeb18d0ceffb43eeec9fd Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sun, 2 Jun 2024 23:45:48 +0300 Subject: [PATCH 066/137] Updates --- nuget.config | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/nuget.config b/nuget.config index da45ecc33..6ce97590a 100644 --- a/nuget.config +++ b/nuget.config @@ -1,17 +1,8 @@ - + - - - - - - - - - - - - - - + + + + + From b425cfddd20acb9fec68fb2270c3b429adb3a618 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 3 Jun 2024 16:12:44 +0300 Subject: [PATCH 067/137] Updates --- .github/actions/set-credentials/action.yml | 4 +++- nuget.config | 21 +++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 16db28328..6ffb98800 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -31,6 +31,7 @@ runs: dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} + dotnet nuget add source "./nuget/" --name local.ci - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} @@ -42,4 +43,5 @@ runs: dotnet nuget remove source nuget.org > /dev/null || : dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} - dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} \ No newline at end of file + dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} + dotnet nuget add source "./nuget/" --name local.ci \ No newline at end of file diff --git a/nuget.config b/nuget.config index 6ce97590a..d18242f75 100644 --- a/nuget.config +++ b/nuget.config @@ -1,8 +1,17 @@ - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file From cbd9ad51df2962ffa0653e309b58dbfe9e819ff5 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 3 Jun 2024 16:39:40 +0300 Subject: [PATCH 068/137] Updates --- .github/actions/set-credentials/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 6ffb98800..1a5eb1085 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -31,7 +31,7 @@ runs: dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - dotnet nuget add source "./nuget/" --name local.ci + dotnet nuget add source "./nuget/" --name local.ci && mkdir "./nuget/" -ea 0 - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} @@ -44,4 +44,4 @@ runs: dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - dotnet nuget add source "./nuget/" --name local.ci \ No newline at end of file + dotnet nuget add source "./nuget/" --name local.ci && mkdir -p "./nuget/" \ No newline at end of file From 67ad813d83074c4db3cea6ab20668fe5a22709f2 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Mon, 3 Jun 2024 17:19:36 +0300 Subject: [PATCH 069/137] Updates --- ci/Dockerfile.unix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/Dockerfile.unix b/ci/Dockerfile.unix index 14564f2c4..7dd8090dd 100644 --- a/ci/Dockerfile.unix +++ b/ci/Dockerfile.unix @@ -91,7 +91,7 @@ RUN set -a && . /tmp/gdal-netcore-env && set +a; \ ARG PRERELEASE ARG BUILD_NUMBER_TAIL COPY . /build -RUN rm -rf /build/nuget +RUN rm -rf /build/nuget && mkdir -p /build/nuget RUN set -a && . /tmp/gdal-netcore-env && set +a; \ make -f publish-makefile pack $(cat /tmp/gdal-netcore-arch) BUILD_NUMBER_TAIL=$BUILD_NUMBER_TAIL PRERELEASE=$PRERELEASE From c1ba68c08d351e467c4911a80dae25e5a27406cd Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 02:39:20 +0300 Subject: [PATCH 070/137] Updates --- .github/actions/set-credentials/action.yml | 2 +- osx/gdal-makefile | 9 +++++++-- shared/patch/FindSPATIALITE.cmake.patch | 13 ------------- shared/templates/gdalcore.bundle.csproj.in | 2 +- .../gdalcore.linuxruntime.bundle.csproj.in | 2 +- shared/templates/gdalcore.loader.csproj.in | 2 +- .../gdalcore.macosruntime.bundle.csproj.in | 2 +- unix/gdal-makefile | 2 +- 8 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 shared/patch/FindSPATIALITE.cmake.patch diff --git a/.github/actions/set-credentials/action.yml b/.github/actions/set-credentials/action.yml index 1a5eb1085..b29c83b40 100644 --- a/.github/actions/set-credentials/action.yml +++ b/.github/actions/set-credentials/action.yml @@ -31,7 +31,7 @@ runs: dotnet new nugetconfig --force dotnet nuget add source https://nuget.pkg.github.com/MaxRev-Dev/index.json --name github --store-password-in-clear-text -u ${{ inputs.api-user-github }} -p ${{ inputs.api-key-github }} dotnet nuget update source nuget --source https://api.nuget.org/v3/index.json --store-password-in-clear-text -u ${{ inputs.api-user-nuget }} -p ${{ inputs.api-key-nuget }} - dotnet nuget add source "./nuget/" --name local.ci && mkdir "./nuget/" -ea 0 + dotnet nuget add source "./nuget/" --name local.ci && New-Item -Path "./nuget/" -ItemType Directory -Force - name: NuGet - Update credentials unix if: ${{ inputs.shell == 'bash' }} diff --git a/osx/gdal-makefile b/osx/gdal-makefile index f730477db..015c8ab57 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -123,13 +123,18 @@ configure_gdal: @cd $(GDAL_CMAKE_TMP) && cmake $(GDAL_ROOT) \ -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="-fPIC" \ -DCMAKE_CXX_FLAGS="-fPIC" \ -DGDAL_USE_DEFLATE=OFF \ -DGDAL_USE_ZLIB_INTERNAL=ON \ - -DBUILD_APPS=ON \ + -DGDAL_CSHARP_APPS=ON \ + -DGDAL_CSHARP_TESTS=OFF \ + -DGDAL_CSHARP_BUILD_NUPKG=OFF \ + -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_CSHARP_BINDINGS=ON \ + -DCSHARP_LIBRARY_VERSION=net$(DOTNET_VERSION) \ + -DCSHARP_APPLICATION_VERSION=net$(DOTNET_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ - -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ diff --git a/shared/patch/FindSPATIALITE.cmake.patch b/shared/patch/FindSPATIALITE.cmake.patch deleted file mode 100644 index 08652d98f..000000000 --- a/shared/patch/FindSPATIALITE.cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/modules/packages/FindSPATIALITE.cmake b/cmake/modules/packages/FindSPATIALITE.cmake -index 80052a4d48..2a19f2da94 100644 ---- a/cmake/modules/packages/FindSPATIALITE.cmake -+++ b/cmake/modules/packages/FindSPATIALITE.cmake -@@ -56,7 +56,7 @@ if(SPATIALITE_LIBRARY AND SPATIALITE_INCLUDE_DIR - AND NOT SPATIALITE_VERSION_STRING) - file(STRINGS "${SPATIALITE_INCLUDE_DIR}/spatialite.h" _spatialite_h_ver - REGEX "^[ \t]version[ \t]([0-9]+\\.[0-9]+),.*") -- string(REGEX REPLACE "[ \t]version[ \t]([0-9]+\\.[0-9]+),.*" "\\1" _spatialite_h_ver ${_spatialite_h_ver}) -+ string(REGEX REPLACE "[ \t]version[ \t]([0-9]+\\.[0-9]+),.*" "\\1" _spatialite_h_ver "${_spatialite_h_ver}") - set(SPATIALITE_VERSION_STRING "${_spatialite_h_ver}") - endif() - diff --git a/shared/templates/gdalcore.bundle.csproj.in b/shared/templates/gdalcore.bundle.csproj.in index 4700d550e..de5d09b3e 100644 --- a/shared/templates/gdalcore.bundle.csproj.in +++ b/shared/templates/gdalcore.bundle.csproj.in @@ -3,7 +3,7 @@ arm64;x64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 MaxRev © 2024 MaxRev true diff --git a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in index ed9502d24..4bcc6c698 100644 --- a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in @@ -3,7 +3,7 @@ arm64;x64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true diff --git a/shared/templates/gdalcore.loader.csproj.in b/shared/templates/gdalcore.loader.csproj.in index d2124b432..7804e4c33 100644 --- a/shared/templates/gdalcore.loader.csproj.in +++ b/shared/templates/gdalcore.loader.csproj.in @@ -3,7 +3,7 @@ x64;arm64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 MaxRev © 2024 MaxRev true diff --git a/shared/templates/gdalcore.macosruntime.bundle.csproj.in b/shared/templates/gdalcore.macosruntime.bundle.csproj.in index fd4645b94..fb54b0826 100644 --- a/shared/templates/gdalcore.macosruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.macosruntime.bundle.csproj.in @@ -3,7 +3,7 @@ arm64;x64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 6f2923b1c..474811a3e 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -118,7 +118,7 @@ configure_gdal: -DCMAKE_CXX_FLAGS="-fPIC" \ -DGDAL_USE_DEFLATE=OFF \ -DGDAL_USE_ZLIB_INTERNAL=ON \ - -DGDAL_CSHARP_APPS=OFF \ + -DGDAL_CSHARP_APPS=ON \ -DGDAL_CSHARP_TESTS=OFF \ -DGDAL_CSHARP_BUILD_NUPKG=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ From 2bc6b3a80a830292fc1cc4463a930a4631b3d244 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 16:06:40 +0300 Subject: [PATCH 071/137] Updates --- osx/gdal-makefile | 5 +++-- shared/GdalCore.opt | 2 ++ shared/templates/gdalcore.bundle.csproj.in | 4 ++-- shared/templates/gdalcore.linuxruntime.bundle.csproj.in | 2 +- shared/templates/gdalcore.linuxruntime.csproj.in | 2 +- shared/templates/gdalcore.loader.csproj.in | 5 ++++- shared/templates/gdalcore.macosruntime.bundle.csproj.in | 2 +- shared/templates/gdalcore.macosruntime.csproj.in | 2 +- shared/templates/gdalcore.windowsruntime.csproj.in | 6 +++--- unix/gdal-makefile | 2 +- win/partials.psm1 | 7 ++++--- 11 files changed, 23 insertions(+), 16 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 015c8ab57..b5be5deb4 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -127,11 +127,12 @@ configure_gdal: -DCMAKE_CXX_FLAGS="-fPIC" \ -DGDAL_USE_DEFLATE=OFF \ -DGDAL_USE_ZLIB_INTERNAL=ON \ - -DGDAL_CSHARP_APPS=ON \ + -DGDAL_CSHARP_APPS=OFF \ + -DCSHARP_MONO=ON \ -DGDAL_CSHARP_TESTS=OFF \ -DGDAL_CSHARP_BUILD_NUPKG=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ - -DBUILD_CSHARP_BINDINGS=ON \ + -DBUILD_CSHARP_BINDINGS=OFF \ -DCSHARP_LIBRARY_VERSION=net$(DOTNET_VERSION) \ -DCSHARP_APPLICATION_VERSION=net$(DOTNET_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 0183e606e..21f1ee2fe 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -69,6 +69,8 @@ LIBSHARED=$(PACKAGE_BUILD_ROOT)/$(__libshared)/$(RID)/$(__libshared) ##### GDAL source extended location GDAL_ROOT=$(BUILD_ROOT)/gdal-source +##### Dotnet version for GDAL +DOTNET_VERSION=8.0 ##### SWIG executable and interface BASE_SWIG_=$(GDAL_ROOT)/swig diff --git a/shared/templates/gdalcore.bundle.csproj.in b/shared/templates/gdalcore.bundle.csproj.in index de5d09b3e..d208a1e79 100644 --- a/shared/templates/gdalcore.bundle.csproj.in +++ b/shared/templates/gdalcore.bundle.csproj.in @@ -3,7 +3,7 @@ arm64;x64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in index 4bcc6c698..8213331c3 100644 --- a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets linux-arm64 and linux-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets linux-arm64 and linux-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.linuxruntime.csproj.in b/shared/templates/gdalcore.linuxruntime.csproj.in index 074f48d1d..5d6b6d61d 100644 --- a/shared/templates/gdalcore.linuxruntime.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.csproj.in @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.loader.csproj.in b/shared/templates/gdalcore.loader.csproj.in index 7804e4c33..8a892d97c 100644 --- a/shared/templates/gdalcore.loader.csproj.in +++ b/shared/templates/gdalcore.loader.csproj.in @@ -3,7 +3,7 @@ x64;arm64 portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true @@ -57,4 +57,7 @@ true + + + \ No newline at end of file diff --git a/shared/templates/gdalcore.macosruntime.bundle.csproj.in b/shared/templates/gdalcore.macosruntime.bundle.csproj.in index fb54b0826..1d964c74e 100644 --- a/shared/templates/gdalcore.macosruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.macosruntime.bundle.csproj.in @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets osx-arm64 and osx-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets osx-arm64 and osx-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.macosruntime.csproj.in b/shared/templates/gdalcore.macosruntime.csproj.in index 3cd7aa9c5..d7e92e16f 100644 --- a/shared/templates/gdalcore.macosruntime.csproj.in +++ b/shared/templates/gdalcore.macosruntime.csproj.in @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets osx-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets osx-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.windowsruntime.csproj.in b/shared/templates/gdalcore.windowsruntime.csproj.in index 691e45581..6d3369455 100644 --- a/shared/templates/gdalcore.windowsruntime.csproj.in +++ b/shared/templates/gdalcore.windowsruntime.csproj.in @@ -3,7 +3,7 @@ ${_BUILD_ARCH} portable - netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net45 + netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0;net461 MaxRev © 2024 MaxRev true @@ -18,7 +18,7 @@ GDAL (${_GDAL_VERSION}) minimal libraries package. Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. - Targets win-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], net6.0, net7.0, net8.0 + Targets win-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} @@ -39,7 +39,7 @@ true - build/net45/ + build/net461/ true diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 474811a3e..8d4ae5749 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -122,7 +122,7 @@ configure_gdal: -DGDAL_CSHARP_TESTS=OFF \ -DGDAL_CSHARP_BUILD_NUPKG=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ - -DBUILD_CSHARP_BINDINGS=ON \ + -DBUILD_CSHARP_BINDINGS=OFF \ -DCSHARP_LIBRARY_VERSION=net$(DOTNET_VERSION) \ -DCSHARP_APPLICATION_VERSION=net$(DOTNET_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ diff --git a/win/partials.psm1 b/win/partials.psm1 index 03b1a63a2..1b4a09856 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -228,7 +228,7 @@ function Build-Gdal { Write-BuildInfo "Removing build cache (CMakeCache.txt)" Remove-Item "$env:GdalCmakeBuild\CMakeCache.txt" -ErrorAction SilentlyContinue } - + # PATCH 1: replace build root of SDK with our own Set-ReplaceContentInFiles -Path $env:SDK_PREFIX ` -FileFilter "*.pc", "*.cmake", "*.opt" ` @@ -244,12 +244,13 @@ function Build-Gdal { New-FolderIfNotExistsAndSetCurrentLocation $env:GdalCmakeBuild New-FolderIfNotExists "$PSScriptRoot\..\nuget" + $env:ARCH_FLAGS = "/arch:AVX2 /Ob2 /Oi /Os /Oy" # disabling KEA driver as it causes build issues on Windows # https://github.com/OSGeo/gdal/blob/3b232ee17d8f3d93bf3535b77fbb436cb9a9c2e0/.github/workflows/windows_build.yml#L178 cmake -G $env:VS_VERSION -A $env:CMAKE_ARCHITECTURE "$env:GDAL_SOURCE" ` $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` - $env:CMAKE_PREFIX_PATH -DCMAKE_C_FLAGS=" /WX $env:ARCH_FLAGS" ` - -DCMAKE_CXX_FLAGS=" /WX $env:ARCH_FLAGS" -DGDAL_USE_DEFLATE=OFF ` + $env:CMAKE_PREFIX_PATH -DCMAKE_C_FLAGS=" $env:ARCH_FLAGS" ` + -DCMAKE_CXX_FLAGS=" $env:ARCH_FLAGS" -DGDAL_USE_DEFLATE=OFF ` -DGDAL_USE_MSSQL_ODBC=OFF ` $env:WEBP_ROOT $env:WEBP_LIB ` $env:PROJ_ROOT $env:MYSQL_LIBRARY ` From a394a8f0244e31682c9b38e19e4f5fd422f5bd78 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 17:04:39 +0300 Subject: [PATCH 072/137] Updates --- osx/gdal-makefile | 6 +++--- shared/GdalCore.opt | 1 + unix/gdal-makefile | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index b5be5deb4..a47c0c9ea 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -132,9 +132,9 @@ configure_gdal: -DGDAL_CSHARP_TESTS=OFF \ -DGDAL_CSHARP_BUILD_NUPKG=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ - -DBUILD_CSHARP_BINDINGS=OFF \ - -DCSHARP_LIBRARY_VERSION=net$(DOTNET_VERSION) \ - -DCSHARP_APPLICATION_VERSION=net$(DOTNET_VERSION) \ + -DBUILD_CSHARP_BINDINGS=ON \ + -DCSHARP_LIBRARY_VERSION=$(GDAL_CSHARP_VERSION) \ + -DCSHARP_APPLICATION_VERSION=$(GDAL_CSHARP_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DSQLite3_INCLUDE_DIR=$(VCPKG_INSTALLED_DYNAMIC)/include \ diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 21f1ee2fe..34e9af13e 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -71,6 +71,7 @@ LIBSHARED=$(PACKAGE_BUILD_ROOT)/$(__libshared)/$(RID)/$(__libshared) GDAL_ROOT=$(BUILD_ROOT)/gdal-source ##### Dotnet version for GDAL DOTNET_VERSION=8.0 +GDAL_CSHARP_VERSION=net8.0 ##### SWIG executable and interface BASE_SWIG_=$(GDAL_ROOT)/swig diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 8d4ae5749..117eba808 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -122,9 +122,9 @@ configure_gdal: -DGDAL_CSHARP_TESTS=OFF \ -DGDAL_CSHARP_BUILD_NUPKG=OFF \ -DBUILD_PYTHON_BINDINGS=OFF \ - -DBUILD_CSHARP_BINDINGS=OFF \ - -DCSHARP_LIBRARY_VERSION=net$(DOTNET_VERSION) \ - -DCSHARP_APPLICATION_VERSION=net$(DOTNET_VERSION) \ + -DBUILD_CSHARP_BINDINGS=ON \ + -DCSHARP_LIBRARY_VERSION=$(GDAL_CSHARP_VERSION) \ + -DCSHARP_APPLICATION_VERSION=$(GDAL_CSHARP_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ From 840fb9cff57b2fb2458522ccca961cb4d2ceeaa7 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 19:32:10 +0300 Subject: [PATCH 073/137] Updates --- osx/RID.opt | 8 ++++---- osx/publish-makefile | 2 +- shared/GdalCore.opt | 2 +- unix/RID.opt | 2 +- unix/generate-projects-makefile | 14 ++++++-------- win/RID.opt | 6 +++--- win/vcpkg-makefile.vc | 2 +- 7 files changed, 17 insertions(+), 19 deletions(-) diff --git a/osx/RID.opt b/osx/RID.opt index 8b77768ba..651b98cef 100644 --- a/osx/RID.opt +++ b/osx/RID.opt @@ -4,13 +4,13 @@ # MacOS Runtime Identifier # BASE=$(PWD) -BASE_RUNTIME_RID=osx -TARGET_OS=$(BASE_RUNTIME_RID) +BASE_RID=osx +TARGET_OS=$(BASE_RID) BUILD_ARCH=arm64 -VCPKG_RID=$(BUILD_ARCH)-$(BASE_RUNTIME_RID) +VCPKG_RID=$(BUILD_ARCH)-$(BASE_RID) # .NET RID -RID=$(BASE_RUNTIME_RID)-$(BUILD_ARCH) +RID=$(BASE_RID)-$(BUILD_ARCH) SWIG=swig SHELL=/bin/bash diff --git a/osx/publish-makefile b/osx/publish-makefile index 73e92987b..3db9d68dd 100644 --- a/osx/publish-makefile +++ b/osx/publish-makefile @@ -8,7 +8,7 @@ all: all $(MAKE) -f ../unix/publish-makefile $@ \ BUILD_ARCH=$(BUILD_ARCH) \ RID=$(RID) \ - CAT_NAME=$(BASE_RUNTIME_RID) \ + CAT_NAME=$(BASE_RID) \ VCPKG_RID=$(VCPKG_RID) \ RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_OSX_FINAL) \ RUNTIME_PACKAGE_PARTIAL=MacosRuntime diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 34e9af13e..3e432d713 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -7,7 +7,7 @@ ROOTDIR_=$(BASE)/.. BUILD_NUMBER_TAIL=100 ### build (drivers) root -BUILD_ROOT=$(ROOTDIR_)/build-$(BASE_RUNTIME_RID) +BUILD_ROOT=$(ROOTDIR_)/build-$(BASE_RID) # May 10, 2024 GDAL_VERSION=3.9.0 diff --git a/unix/RID.opt b/unix/RID.opt index 4a740b665..5dba05a24 100644 --- a/unix/RID.opt +++ b/unix/RID.opt @@ -4,7 +4,7 @@ # Linux Runtime Identifier # BASE=$(PWD) -BASE_RUNTIME_RID=unix +BASE_RID=unix BUILD_ARCH=arm64 TARGET_OS=linux VCPKG_RID=$(BUILD_ARCH)-$(TARGET_OS) diff --git a/unix/generate-projects-makefile b/unix/generate-projects-makefile index de81a03d1..37eda060c 100644 --- a/unix/generate-projects-makefile +++ b/unix/generate-projects-makefile @@ -18,11 +18,10 @@ export _GEOS_VERSION=$(GEOS_VERSION) export _ROOT_RELATIVE_PATH=.. export _PACKAGE_BUILD_NUMBER=$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER) export _PACKAGE_NAME_RUNTIME=$(PACKAGE_NAME_RUNTIME) -export _RID=$(BUILD_ARCH) export _TARGET_OS=$(TARGET_OS) export _BUILD_ARCH=$(BUILD_ARCH) -ONSUBST='$${_BUILD_ARCH} $${_GEOS_VERSION} $${_ROOT_RELATIVE_PATH} $${_GDAL_VERSION} $${_PROJ_VERSION} $${_PACKAGE_BUILD_NUMBER}' +ONSUBST='$${_BUILD_ARCH} $${_GEOS_VERSION} $${_ROOT_RELATIVE_PATH} $${_GDAL_VERSION} $${_PROJ_VERSION} $${_PACKAGE_BUILD_NUMBER} $${_PACKAGE_NAME_RUNTIME} $${_TARGET_OS} $${_BUILD_ARCH}' # substitute all variables in template project files generate-projects: generate-build-base generate-bundles-$(CAT_NAME) generate-targets @@ -65,14 +64,13 @@ generate-target-single: @echo " TARGET_OS: $(TARGET_OS)" @echo " BUILD_ARCH: $(BUILD_ARCH)" @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" - @echo " BASE_RUNTIME_RID: $(BASE_RUNTIME_RID)" @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL) generate-targets: @echo "Generating target files..." - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime BASE_RUNTIME_RID=osx BUILD_ARCH=arm64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime BASE_RUNTIME_RID=osx BUILD_ARCH=x64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BASE_RUNTIME_RID=linux BUILD_ARCH=arm64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BASE_RUNTIME_RID=linux BUILD_ARCH=x64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=WindowsRuntime BASE_RUNTIME_RID=win BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=WindowsRuntime TARGET_OS=win BUILD_ARCH=x64 diff --git a/win/RID.opt b/win/RID.opt index b883476de..f3ebe9835 100644 --- a/win/RID.opt +++ b/win/RID.opt @@ -4,13 +4,13 @@ # Windows Runtime Identifier # BASE = $(MAKEDIR) -BASE_RUNTIME_RID = win -TARGET_OS = $(BASE_RUNTIME_RID) +BASE_RID = win +TARGET_OS = $(BASE_RID) BUILD_ARCH = x64 VCPKG_RID = $(BUILD_ARCH)-windows # .NET RID -RID = $(BASE_RUNTIME_RID)-$(BUILD_ARCH) +RID = $(BASE_RID)-$(BUILD_ARCH) SWIG = swig COPY = copy diff --git a/win/vcpkg-makefile.vc b/win/vcpkg-makefile.vc index 6e97c55aa..1a992d828 100644 --- a/win/vcpkg-makefile.vc +++ b/win/vcpkg-makefile.vc @@ -8,7 +8,7 @@ all: install_vcpkg install_requirements BASE = $(MAKEDIR) -BASE_RUNTIME_RID = win +BASE_RID = win VCPKG_RID = x64-windows VCPKG_CLEANUP = buildtrees downloads packages installed From 4fe5d0c6e1b2c525c5f32d535b660e1ad00d3a65 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 21:50:46 +0300 Subject: [PATCH 074/137] Updates --- shared/GdalCore.opt | 3 ++- unix/generate-projects-makefile | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 3e432d713..cca4b4af0 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -118,9 +118,10 @@ RUNTIME_PROJECT_BUNDLE_UNIX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.bu RUNTIME_PROJECT_BUNDLE_OSX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.macosruntime.bundle.final.csproj PACKAGE_NAME_CORE=MaxRev.Gdal.Core -PACKAGE_NAME_RUNTIME=MaxRev.Gdal.Core.$(RUNTIME_PACKAGE_PARTIAL).Minimal +PACKAGE_NAME_RUNTIME=MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal RUNTIME_TARGET_BUNDLE=$(ROOTDIR_)/shared/msbuild/default.targets.in RUNTIME_TARGET_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).$(BUILD_ARCH).targets +RUNTIME_TARGET_BUNDLE_FINAL_WIN=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).targets GIT=git GIT_CLEAN=$(GIT) clean -fqdx diff --git a/unix/generate-projects-makefile b/unix/generate-projects-makefile index 37eda060c..14dcb3f29 100644 --- a/unix/generate-projects-makefile +++ b/unix/generate-projects-makefile @@ -66,11 +66,18 @@ generate-target-single: @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL) +generate-target-single-win: + @echo "Generating target file $(RID)" + @echo " TARGET_OS: $(TARGET_OS)" + @echo " BUILD_ARCH: $(BUILD_ARCH)" + @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" + @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL_WIN) + generate-targets: @echo "Generating target files..." @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=arm64 @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=x64 @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=arm64 @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=x64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=WindowsRuntime TARGET_OS=win BUILD_ARCH=x64 + @$(MAKE) -f $(THIS_FILE) generate-target-single-win RUNTIME_PACKAGE_PARTIAL=WindowsRuntime TARGET_OS=win BUILD_ARCH=x64 From 2dc86eb141400a9b3d5ebbbb4421026d76186ba5 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 4 Jun 2024 22:22:11 +0300 Subject: [PATCH 075/137] Updates --- shared/templates/gdalcore.windowsruntime.csproj.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/templates/gdalcore.windowsruntime.csproj.in b/shared/templates/gdalcore.windowsruntime.csproj.in index 6d3369455..279099bf2 100644 --- a/shared/templates/gdalcore.windowsruntime.csproj.in +++ b/shared/templates/gdalcore.windowsruntime.csproj.in @@ -38,7 +38,7 @@ runtimes/win-${_BUILD_ARCH}/native/ true - + build/net461/ true From 1849d19291a13c912474b315aed697cb8c8ae58c Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 5 Jun 2024 00:26:16 +0300 Subject: [PATCH 076/137] Updates --- shared/msbuild/default.targets.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/msbuild/default.targets.in b/shared/msbuild/default.targets.in index 692890ead..71fdee6f1 100644 --- a/shared/msbuild/default.targets.in +++ b/shared/msbuild/default.targets.in @@ -9,8 +9,8 @@ - - $(MaxRevGdalOutputBase)%(Filename)%(Extension) + + $(MaxRevGdalOutputBase)%(RecursiveDir)%(Filename)%(Extension) PreserveNewest From e8e7758530eba57f532735b5240896623f0cfe4c Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 5 Jun 2024 19:29:17 +0300 Subject: [PATCH 077/137] Updates --- .github/workflows/macos.yml | 3 -- .github/workflows/main.yml | 1 - .github/workflows/unix.yml | 3 -- .github/workflows/windows.yml | 3 -- shared/GdalCore.opt | 5 ++- shared/msbuild/default.targets.in | 2 +- shared/templates/gdalcore.bundle.csproj.in | 17 +++----- shared/templates/gdalcore.loader.csproj.in | 8 ++-- unix/generate-projects-makefile | 49 ++++++++++++++-------- unix/publish-makefile | 2 +- win/partials.psm1 | 2 +- 11 files changed, 48 insertions(+), 47 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 0e3286286..e6bb12d6c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -29,7 +29,6 @@ jobs: arch: x64 runs-on: ${{ matrix.os }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: osx @@ -138,7 +137,6 @@ jobs: needs: BuildNugetPackages-MacOS runs-on: ${{ matrix.os }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: osx @@ -173,7 +171,6 @@ jobs: PushPackages-Macos: needs: TestPackages-MacOS runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: osx diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05b422d63..82cd1e7fb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,7 +35,6 @@ jobs: os: [ubuntu-latest] runs-on: ${{ matrix.os }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" steps: - name: Check needs results if: needs.WaitForWorkflows.result != 'success' diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 475ba90a0..de9f042de 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -33,7 +33,6 @@ jobs: actions-runner: self-hosted-macos-arm64 runs-on: ${{ matrix.actions-runner }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: unix @@ -158,7 +157,6 @@ jobs: actions-runner: self-hosted-macos-arm64 runs-on: ${{ matrix.actions-runner }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: unix @@ -197,7 +195,6 @@ jobs: PushPackages-Linux: needs: TestPackages-Linux runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: unix diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8c6ba6882..5aae74b46 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -23,7 +23,6 @@ jobs: os: [windows-latest] runs-on: ${{ matrix.os }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: win @@ -93,7 +92,6 @@ jobs: os: [windows-latest] needs: BuildNugetPackages-Windows runs-on: ${{ matrix.os }} - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: win @@ -131,7 +129,6 @@ jobs: PushPackages-Windows: needs: TestPackages-Windows runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" defaults: run: working-directory: unix diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index cca4b4af0..9d9eb4d26 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -101,7 +101,7 @@ TEST_FORMATS_OUTPUT=$(ROOTDIR_)/tests/gdal-formats # Templates for project files GDALCORE_PROJECT=$(ROOTDIR_)/shared/templates/gdalcore.loader.csproj.in -RUNTIME_PROJECT_LINUX=$(ROOTDIR_)/shared/templates/gdalcore.linuxruntime.csproj.in +RUNTIME_PROJECT_UNIX=$(ROOTDIR_)/shared/templates/gdalcore.linuxruntime.csproj.in RUNTIME_PROJECT_OSX=$(ROOTDIR_)/shared/templates/gdalcore.macosruntime.csproj.in RUNTIME_PROJECT_WIN=$(ROOTDIR_)/shared/templates/gdalcore.windowsruntime.csproj.in RUNTIME_PROJECT_BUNDLE=$(ROOTDIR_)/shared/templates/gdalcore.bundle.csproj.in @@ -110,7 +110,7 @@ RUNTIME_PROJECT_BUNDLE_OSX=$(ROOTDIR_)/shared/templates/gdalcore.macosruntime.bu # Generated project files GDALCORE_PROJECT_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.loader.final.csproj -RUNTIME_PROJECT_LINUX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.final.csproj +RUNTIME_PROJECT_UNIX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.linuxruntime.final.csproj RUNTIME_PROJECT_OSX_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.macosruntime.final.csproj RUNTIME_PROJECT_WIN_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.windowsruntime.final.csproj RUNTIME_PROJECT_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/gdalcore.bundle.final.csproj @@ -122,6 +122,7 @@ PACKAGE_NAME_RUNTIME=MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal RUNTIME_TARGET_BUNDLE=$(ROOTDIR_)/shared/msbuild/default.targets.in RUNTIME_TARGET_BUNDLE_FINAL=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).$(BUILD_ARCH).targets RUNTIME_TARGET_BUNDLE_FINAL_WIN=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_RUNTIME).targets +RUNTIME_TARGET_BUNDLE_FINAL_CORE=$(PACKAGE_BUILD_ROOT)/$(PACKAGE_NAME_CORE).targets GIT=git GIT_CLEAN=$(GIT) clean -fqdx diff --git a/shared/msbuild/default.targets.in b/shared/msbuild/default.targets.in index 71fdee6f1..efda2f754 100644 --- a/shared/msbuild/default.targets.in +++ b/shared/msbuild/default.targets.in @@ -9,7 +9,7 @@ - + $(MaxRevGdalOutputBase)%(RecursiveDir)%(Filename)%(Extension) PreserveNewest diff --git a/shared/templates/gdalcore.bundle.csproj.in b/shared/templates/gdalcore.bundle.csproj.in index d208a1e79..1a53b5451 100644 --- a/shared/templates/gdalcore.bundle.csproj.in +++ b/shared/templates/gdalcore.bundle.csproj.in @@ -28,17 +28,12 @@ - - - - - - + + + + + + diff --git a/shared/templates/gdalcore.loader.csproj.in b/shared/templates/gdalcore.loader.csproj.in index 8a892d97c..a17658daf 100644 --- a/shared/templates/gdalcore.loader.csproj.in +++ b/shared/templates/gdalcore.loader.csproj.in @@ -44,18 +44,18 @@ runtimes/any/native/gdal-data/ true - - runtimes/any/native/gdal-data/ true - - runtimes/any/native/gdal-data/ true + + build/net461/ + true + diff --git a/unix/generate-projects-makefile b/unix/generate-projects-makefile index 14dcb3f29..ef63ff451 100644 --- a/unix/generate-projects-makefile +++ b/unix/generate-projects-makefile @@ -6,7 +6,7 @@ include ../shared/bundle/base.opt -include ../shared/bundle/targets/unix.opt -include ../shared/bundle/targets/win.opt -RUNTIME_PROJECT=$(RUNTIME_PROJECT_LINUX) +RUNTIME_PROJECT=$(RUNTIME_PROJECT_UNIX) IN_FILE= all: generate-projects @@ -18,19 +18,18 @@ export _GEOS_VERSION=$(GEOS_VERSION) export _ROOT_RELATIVE_PATH=.. export _PACKAGE_BUILD_NUMBER=$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER) export _PACKAGE_NAME_RUNTIME=$(PACKAGE_NAME_RUNTIME) +export _PACKAGE_NAME_CORE=$(PACKAGE_NAME_CORE) export _TARGET_OS=$(TARGET_OS) export _BUILD_ARCH=$(BUILD_ARCH) +RID_TARGET=$(TARGET_OS)-$(BUILD_ARCH) +export _RID_TARGET=$(RID_TARGET) -ONSUBST='$${_BUILD_ARCH} $${_GEOS_VERSION} $${_ROOT_RELATIVE_PATH} $${_GDAL_VERSION} $${_PROJ_VERSION} $${_PACKAGE_BUILD_NUMBER} $${_PACKAGE_NAME_RUNTIME} $${_TARGET_OS} $${_BUILD_ARCH}' +ONSUBST='$${_BUILD_ARCH} $${_GEOS_VERSION} $${_ROOT_RELATIVE_PATH} $${_GDAL_VERSION} $${_PROJ_VERSION} $${_PACKAGE_BUILD_NUMBER} $${_PACKAGE_NAME_RUNTIME} $${_TARGET_OS} $${_BUILD_ARCH} $${_RID_TARGET} $${_PACKAGE_NAME_CORE}' # substitute all variables in template project files -generate-projects: generate-build-base generate-bundles-$(CAT_NAME) generate-targets +generate-projects: generate-build-base generate-bundles-$(CAT_NAME) generate-projects-$(CAT_NAME) @mkdir -p $(dir $(GDALCORE_PROJECT_FINAL)) @cat $(GDALCORE_PROJECT) | envsubst $${ONSUBST} > $(GDALCORE_PROJECT_FINAL) - @cat $(RUNTIME_PROJECT_LINUX) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_LINUX_FINAL) - @cat $(RUNTIME_PROJECT_OSX) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_OSX_FINAL) - @cat $(RUNTIME_PROJECT_WIN) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_WIN_FINAL) - @cat $(RUNTIME_PROJECT_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_BUNDLE_FINAL) generate-build-base: # generate target file "shared/bundle/<=OS=>.opt" @@ -41,6 +40,8 @@ generate-build-base: @echo 'BUILD_NUMBER_TAIL_$(CAT_NAME_UP)=$(BUILD_NUMBER_TAIL)' >> $(TARGET_OUT) @echo 'PACKAGE_BUILD_NUMBER_$(CAT_NAME_UP)_FINAL=$(GDAL_VERSION).$$(shell echo $$$$(($$(BUILD_NUMBER_TAIL) + $$(PACKAGE_BUILD_NUMBER_$(CAT_NAME_UP)))))' >> $(TARGET_OUT) + @$(MAKE) -f $(THIS_FILE) generate-target-single-core RID_TARGET=any + generate-bundles: @mkdir -p $(dir $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL)) cat $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) @@ -54,30 +55,44 @@ generate-bundles-osx: generate-bundles dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.MacosRuntime.Minimal.x64 --no-restore --version $(_PACKAGE_BUILD_NUMBER) --package-directory $(NUGET_) generate-bundles-win: - echo "Nothing to do" + @echo "Nothing to do" + +generate-projects-osx: generate-build-base generate-bundles-osx + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=x64 + @cat $(RUNTIME_PROJECT_OSX) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_OSX_FINAL) + +generate-projects-unix: generate-build-base generate-bundles-unix + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=arm64 + @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=x64 + @cat $(RUNTIME_PROJECT_UNIX) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_UNIX_FINAL) + +generate-projects-win: generate-build-base generate-bundles-win + @$(MAKE) -f $(THIS_FILE) generate-target-single-win RUNTIME_PACKAGE_PARTIAL=WindowsRuntime TARGET_OS=win BUILD_ARCH=x64 + @cat $(RUNTIME_PROJECT_WIN) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_WIN_FINAL) + +generate-final-bundle: + @cat $(RUNTIME_PROJECT_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_BUNDLE_FINAL) get-version: @grep -o "[Vv]ersion:\s.*" $(IN_FILE) | cut -d: -f2 | xargs generate-target-single: - @echo "Generating target file $(RID)" + @echo "Generating target file" @echo " TARGET_OS: $(TARGET_OS)" @echo " BUILD_ARCH: $(BUILD_ARCH)" @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL) generate-target-single-win: - @echo "Generating target file $(RID)" + @echo "Generating target file - Windows" @echo " TARGET_OS: $(TARGET_OS)" @echo " BUILD_ARCH: $(BUILD_ARCH)" @echo " RUNTIME_PACKAGE_PARTIAL: $(RUNTIME_PACKAGE_PARTIAL)" @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL_WIN) -generate-targets: - @echo "Generating target files..." - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=arm64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=MacosRuntime TARGET_OS=osx BUILD_ARCH=x64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=arm64 - @$(MAKE) -f $(THIS_FILE) generate-target-single RUNTIME_PACKAGE_PARTIAL=LinuxRuntime TARGET_OS=linux BUILD_ARCH=x64 - @$(MAKE) -f $(THIS_FILE) generate-target-single-win RUNTIME_PACKAGE_PARTIAL=WindowsRuntime TARGET_OS=win BUILD_ARCH=x64 +generate-target-single-core: + @echo "Generating target file - Core" + @cat $(RUNTIME_TARGET_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_TARGET_BUNDLE_FINAL_CORE) + diff --git a/unix/publish-makefile b/unix/publish-makefile index 9513a44b7..7d823d633 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -10,7 +10,7 @@ export MSBUILDSINGLELOADCONTEXT = 1 # using export to add dynamic libraries location export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:${VCPKG_INSTALLED_DYNAMIC}/lib -RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_LINUX_FINAL) +RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_UNIX_FINAL) GEOS_VERSION=$(shell $(MAKE) -f ../unix/generate-projects-makefile get-version IN_FILE=$(VCPKG_INSTALLED_DYNAMIC)/lib/pkgconfig/geos.pc) CAT_NAME=unix RUNTIME_PACKAGE_PARTIAL=LinuxRuntime diff --git a/win/partials.psm1 b/win/partials.psm1 index 1b4a09856..6b213082a 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -284,7 +284,7 @@ function Build-GenerateProjectFiles { # generate project files for C# bindings Write-BuildStep "Generating project files for GDAL C# bindings" - exec { & $env:GitBash -c "make -f generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=WindowsRuntime CAT_NAME=win BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } + exec { & $env:GitBash -c "make -f generate-projects-makefile CAT_NAME=win BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } Write-BuildStep "Done generating project files" } From 29d59516b103bf1c4001a59b52888379d6258201 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 5 Jun 2024 21:03:09 +0300 Subject: [PATCH 078/137] Updates --- win/partials.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/partials.psm1 b/win/partials.psm1 index 6b213082a..63f07a06f 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -284,7 +284,7 @@ function Build-GenerateProjectFiles { # generate project files for C# bindings Write-BuildStep "Generating project files for GDAL C# bindings" - exec { & $env:GitBash -c "make -f generate-projects-makefile CAT_NAME=win BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } + exec { & $env:GitBash -c "make -f generate-projects-makefile CAT_NAME=win RUNTIME_PACKAGE_PARTIAL=WindowsRuntime BUILD_NUMBER_TAIL=$packageVersion GEOS_VERSION=$geosVersion BUILD_ARCH=$env:CMAKE_ARCHITECTURE" } Write-BuildStep "Done generating project files" } From bacbaa7760e182927522b36c386df4d3662aeb35 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 01:13:01 +0300 Subject: [PATCH 079/137] Adding NETFramework test sample --- .../MaxRev.Gdal.Core.Tests.NetFramework.sln | 25 +++++++ .../App.config | 6 ++ ...MaxRev.Gdal.Core.Tests.NetFramework.csproj | 75 +++++++++++++++++++ .../Program.cs | 14 ++++ .../Properties/AssemblyInfo.cs | 36 +++++++++ .../packages.config | 6 ++ 6 files changed, 162 insertions(+) create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs create mode 100644 tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln new file mode 100644 index 000000000..424be9c68 --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.34928.147 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaxRev.Gdal.Core.Tests.NetFramework", "MaxRev.Gdal.Core.Tests.NetFramework\MaxRev.Gdal.Core.Tests.NetFramework.csproj", "{75E6D312-A2C8-4B76-96FF-EAD76DC8532B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {75E6D312-A2C8-4B76-96FF-EAD76DC8532B}.Debug|x64.ActiveCfg = Debug|x64 + {75E6D312-A2C8-4B76-96FF-EAD76DC8532B}.Debug|x64.Build.0 = Debug|x64 + {75E6D312-A2C8-4B76-96FF-EAD76DC8532B}.Release|x64.ActiveCfg = Release|x64 + {75E6D312-A2C8-4B76-96FF-EAD76DC8532B}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {05640A18-0011-4CA1-A9D1-2F9F1E12C3A2} + EndGlobalSection +EndGlobal diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config new file mode 100644 index 000000000..731f6de6c --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj new file mode 100644 index 000000000..213da6678 --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj @@ -0,0 +1,75 @@ + + + + + Debug + AnyCPU + {75E6D312-A2C8-4B76-96FF-EAD76DC8532B} + Exe + MaxRev.Gdal.Core.Tests.NetFramework + MaxRev.Gdal.Core.Tests.NetFramework + v4.6.1 + 512 + true + true + + + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + true + + + + ..\packages\MaxRev.Gdal.Core.3.9.0.326\lib\net461\MaxRev.Gdal.Core.dll + + + ..\packages\MaxRev.Gdal.WindowsRuntime.Minimal.3.9.0.326\lib\net461\MaxRev.Gdal.WindowsRuntime.Minimal.dll + + + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + + + + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs new file mode 100644 index 000000000..bb377676c --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs @@ -0,0 +1,14 @@ +using System; + +namespace MaxRev.Gdal.Core.Tests.NetFramework +{ + internal class Program + { + static void Main(string[] args) + { + GdalBase.ConfigureAll(); + Console.WriteLine("Gdal was configured successfully!"); + Console.ReadKey(); + } + } +} diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..dee5a696b --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MaxRev.Gdal.Core.Tests.NetFramework")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MaxRev.Gdal.Core.Tests.NetFramework")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("75e6d312-a2c8-4b76-96ff-ead76dc8532b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config new file mode 100644 index 000000000..753bf8adc --- /dev/null +++ b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From ac486ea37d96a491d6a65b9047db119a9332d003 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 01:16:30 +0300 Subject: [PATCH 080/137] Restructuring and cleanup --- .../MaxRev.Gdal.Core.Tests.NetFramework.sln | 0 .../{MaxRev.Gdal.Core.Tests.NetFramework => }/App.config | 0 .../MaxRev.Gdal.Core.Tests.NetFramework.csproj | 0 .../{MaxRev.Gdal.Core.Tests.NetFramework => }/Program.cs | 0 .../Properties/AssemblyInfo.cs | 0 .../packages.config | 0 win/compile-unix-wsl.ps1 | 7 ------- 7 files changed, 7 deletions(-) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/MaxRev.Gdal.Core.Tests.NetFramework.sln (100%) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/App.config (100%) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/MaxRev.Gdal.Core.Tests.NetFramework.csproj (100%) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/Program.cs (100%) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/Properties/AssemblyInfo.cs (100%) rename tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/{MaxRev.Gdal.Core.Tests.NetFramework => }/packages.config (100%) delete mode 100644 win/compile-unix-wsl.ps1 diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.sln diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/App.config diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework.csproj diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Program.cs diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/Properties/AssemblyInfo.cs diff --git a/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config b/tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config similarity index 100% rename from tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config rename to tests/MaxRev.Gdal.Core.Tests.NetFramework/MaxRev.Gdal.Core.Tests.NetFramework/packages.config diff --git a/win/compile-unix-wsl.ps1 b/win/compile-unix-wsl.ps1 deleted file mode 100644 index 37f7679ac..000000000 --- a/win/compile-unix-wsl.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -# Prerequisites: WSL2, Debian -# Repository must be cloned in WSL2 Debian into /root/gdal.netcore - -wsl -d Debian --cd /root/gdal.netcore/unix -- make - -# copy nuget from wsl to ./nuget folder -Copy-Item -Path '//wsl$/Debian/root/gdal.netcore/nuget/*.nupkg' -Destination "$PSScriptRoot/../nuget" \ No newline at end of file From ddf8df06d862c83b251f02c8b29eddd78d29e6e3 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 02:00:04 +0300 Subject: [PATCH 081/137] Updates --- README.md | 6 ++++++ osx/RID.opt | 3 ++- osx/gdal-makefile | 7 ++++--- osx/vcpkg-makefile | 2 ++ shared/GdalCore.opt | 2 +- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 60c415230..87c76359b 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,8 @@ To view full list of drivers, To view the complete list of drivers, you can view **NOTE**: Runtime drivers availability may differ. Ask me about a specific driver for runtime. Please issue if I need to mention any packages. +Starting version 3.9.0 the packages can be compiled and run on .NET Framework 4.6.1+. The libraries and gdal-data will be automatically copied to the output directory. See [tests/MaxRev.Gdal.Core.Tests.NetFramework](tests/MaxRev.Gdal.Core.Tests.NetFramework) for more info. + ## Building runtime libraries 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**. Still, the resulting core bindings are the same on each runtime package (OS). @@ -199,6 +201,10 @@ A: The current version of packages was compiled on MacOS Ventura and 11.3 SDK re A: It's a known issue related to the linking of the shared libraries. If you find any solution/workaround, please let me know. Currently, linker tries to find all shared libraries in the `@loader_path/`. It should point to the executable directory. +#### Q: BadImageFormatException on Windows + +A: Ensure that you are using the same architecture for your project and the runtime package. If you are using AnyCPU, you should use only the x64 runtime package. See the sample project for details in [tests/MaxRev.Gdal.Core.Tests.NetFramework](tests/MaxRev.Gdal.Core.Tests.NetFramework/). + ## About and Contacts This work is based on [GDAL](https://github.com/OSGeo/gdal) and [GDAL bindings by jgoday](https://github.com/jgoday/gdal). diff --git a/osx/RID.opt b/osx/RID.opt index 651b98cef..c581fa121 100644 --- a/osx/RID.opt +++ b/osx/RID.opt @@ -15,4 +15,5 @@ SWIG=swig SHELL=/bin/bash SED=gsed -DEL_DIR=rm -rf \ No newline at end of file +DEL_DIR=rm -rf +OSX_DEPLOYMENT_TARGET=10.10 \ No newline at end of file diff --git a/osx/gdal-makefile b/osx/gdal-makefile index a47c0c9ea..c8a89cc95 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -101,7 +101,8 @@ configure_hdf: -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="-Wno-dev" \ -DCMAKE_CXX_FLAGS="-fPIC -Wno-dev" \ - -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 + -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$(OSX_DEPLOYMENT_TARGET) || exit 1 @echo "$(TO) HDF was configured!" @@ -146,7 +147,7 @@ configure_gdal: -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$(OSX_DEPLOYMENT_TARGET) \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 @echo "$(TO) GDAL was configured!" @@ -172,7 +173,7 @@ configure_proj: -DSQLite3_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libsqlite3.dylib \ -DTIFF_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libtiff.dylib" \ -DCMAKE_PREFIX_PATH="$(VCPKG_INSTALLED_DYNAMIC)" \ - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=$(OSX_DEPLOYMENT_TARGET) \ || exit 1 @echo "$(TO) PROJ was configured!" diff --git a/osx/vcpkg-makefile b/osx/vcpkg-makefile index 24f244b99..7e59a86e4 100644 --- a/osx/vcpkg-makefile +++ b/osx/vcpkg-makefile @@ -86,6 +86,7 @@ define VCPKG_TRIPLET_OSX_DYNAMIC_RELEASE set(VCPKG_LIBRARY_LINKAGE dynamic) set(VCPKG_BUILD_TYPE release) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) + set(VCPKG_OSX_DEPLOYMENT_TARGET $(OSX_DEPLOYMENT_TARGET)) endef define VCPKG_TRIPLET_OSX_STATIC_RELEASE @@ -94,6 +95,7 @@ define VCPKG_TRIPLET_OSX_STATIC_RELEASE set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_BUILD_TYPE release) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) + set(VCPKG_OSX_DEPLOYMENT_TARGET $(OSX_DEPLOYMENT_TARGET)) endef export VCPKG_TRIPLET_OSX_DYNAMIC_RELEASE diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 9d9eb4d26..8b0deca9e 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -29,7 +29,7 @@ VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl -VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" +VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" # windows runtime now depends on GisInternals SDK # we have nothing to install except custom geos and proj VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" From 4acac347041a726019161fb6ebe3112b4f38faf8 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 02:01:26 +0300 Subject: [PATCH 082/137] Set min OSX deployment target to 11.0 --- osx/RID.opt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osx/RID.opt b/osx/RID.opt index c581fa121..acac814dc 100644 --- a/osx/RID.opt +++ b/osx/RID.opt @@ -16,4 +16,4 @@ SHELL=/bin/bash SED=gsed DEL_DIR=rm -rf -OSX_DEPLOYMENT_TARGET=10.10 \ No newline at end of file +OSX_DEPLOYMENT_TARGET=11.0 \ No newline at end of file From 76888b4638f2dd40b3937548ed0bacf896524513 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 12:56:05 +0300 Subject: [PATCH 083/137] Docs updated --- README.md | 13 +++++++++---- unix/README.md | 5 ++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 87c76359b..1f107cb20 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Provides a minimal setup without requirements to install heavy [GDAL binaries](h * [About build configuration](#about-build-configuration) * [Building runtime libraries](#building-runtime-libraries) * [FAQ](#faq) - - [Q: Packages do not work on CentOS 7, Ubuntu 18.04](#q-packages-does-not-work-on-centos-7-ubuntu-1804) + - [Q: Packages does not work on CentOS 7, Ubuntu 18.04](#q-packages-does-not-work-on-centos-7--ubuntu-1804) - [Q: Can I compile it on Ubuntu or another Unix-based system?](#q-can-i-compile-it-on-ubuntu-or-another-unix-based-system-) - [Q: Projections are not working as expected](#q-projections-are-not-working-as-expected) - [Q: Some drivers complain about missing data files](#q-some-drivers-complain-about-missing-data-files) @@ -61,21 +61,22 @@ Provides a minimal setup without requirements to install heavy [GDAL binaries](h - [Q: GDAL functions are not working as expected](#q-gdal-functions-are-not-working-as-expected) - [Q: Some types throw exceptions from SWIG on Windows](#q-some-types-throw-exceptions-from-swig-on-windows) - [Q: In some methods performance is slower on Unix](#q-in-some-methods-performance-is-slower-on-unix) - - [Q: OSGeo.OGR.SpatialReference throws System.EntryPointNotFoundException exception](#q-osgeoogrspatialreference-throws-systementrypointnotfoundexception-exception) + - [Q: OSGeo.OGR.SpatialReference throws System.EntryPointNotFoundException exception](#q-osgeoogrspatialreference-throws-systementrypointnotfoundexception-exception) - [Q: Packages does not work on MacOS Catalina or lower](#q-packages-does-not-work-on-macos-catalina-or-lower) - [Q: The first run on MacOS is slow and takes more than 3 seconds](#q-the-first-run-on-macos-is-slow-and-takes-more-than-3-seconds) + - [Q: BadImageFormatException on Windows](#q-badimageformatexception-on-windows) + - [Q: Publishing the project with runtime packages](#q-publishing-the-project-with-runtime-packages) * [About and Contacts](#about-and-contacts) * [Acknowledgements](#acknowledgements) Table of contents generated with markdown-toc - ## **About this library** ### What is this library - Only generates assemblies and binds everything into one package. - Provides easy access to GDAL by installing **only core and runtime package** -- DOES NOT require installation of GDAL. From 3.7.0 version GDAL_DATA is also shipped. While it contains the `proj.db` database you can require `proj-data` grid shifts. +- DOES NOT require installation of GDAL. From 3.7.0 version GDAL_DATA is also shipped. While it contains the `proj.db` database you may require `proj-data` grid shifts. ### What is not @@ -205,6 +206,10 @@ Currently, linker tries to find all shared libraries in the `@loader_path/`. It A: Ensure that you are using the same architecture for your project and the runtime package. If you are using AnyCPU, you should use only the x64 runtime package. See the sample project for details in [tests/MaxRev.Gdal.Core.Tests.NetFramework](tests/MaxRev.Gdal.Core.Tests.NetFramework/). +#### Q: Publishing the project with runtime packages + +A: There are several ways to publish. One important thing to keep in mind, that you have to ensure the output folder contains either `runtimes/-/native` path, `gdal-data` folder and `maxrev.gdal.core.libshared/proj.db`. In most cases this should be handled automatically by dotnet. Usually, we release a runtime-dependent binary. The end user will have to install the .NET runtime, but the size of the app will be small and the build time is faster. Otherwise, you can publish a self-contained app which will include all required .NET runtime libraries. More details on publishing can be found [here](https://learn.microsoft.com/en-us/dotnet/core/deploying/). Also, see the sample dockerized project for details in [tests/MaxRev.Gdal.Core.Tests/Dockerfile](tests/MaxRev.Gdal.Core.Tests/Dockerfile). + ## About and Contacts This work is based on [GDAL](https://github.com/OSGeo/gdal) and [GDAL bindings by jgoday](https://github.com/jgoday/gdal). diff --git a/unix/README.md b/unix/README.md index 4627d47d9..70b90b522 100644 --- a/unix/README.md +++ b/unix/README.md @@ -17,7 +17,7 @@ First of all, I wish you to be patient & bring your snacks. Compilation from scr > C# Bindings (aka Core) are currently build in windows ### **1. Environment** -I'm compiling in WSL on **Debian 11 with GLIBC 2.31 (2020)** +I'm compiling on **Debian 11 with GLIBC 2.31 (2020)**. See CI/CD pipeline for details. ### **2. Base packages**. VCPKG and pipeline scripts won't work without them: @@ -25,9 +25,8 @@ I'm compiling in WSL on **Debian 11 with GLIBC 2.31 (2020)** sudo apt-get install g++ make cmake git curl zip unzip tar pkg-config linux-headers-amd64 autoconf automake python3 autoconf-archive swig patchelf ``` - ### 3. **Install .NET** -https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian#debian-11 +https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian#debian-11. ### 4. **Installing libraries**. Libraries can be installed in two ways. From 9cb7cfd69286b878f8c86a6164f25f615faad682 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 12:56:15 +0300 Subject: [PATCH 084/137] Refactored --- osx/before-install.sh | 1 + osx/vcpkg-makefile | 2 +- shared/templates/gdalcore.bundle.csproj.in | 6 +++--- .../templates/gdalcore.linuxruntime.bundle.csproj.in | 6 +++--- shared/templates/gdalcore.linuxruntime.csproj.in | 6 +++--- shared/templates/gdalcore.loader.csproj.in | 11 +++++------ .../templates/gdalcore.macosruntime.bundle.csproj.in | 7 ++++--- shared/templates/gdalcore.macosruntime.csproj.in | 6 +++--- shared/templates/gdalcore.windowsruntime.csproj.in | 6 +++--- 9 files changed, 26 insertions(+), 25 deletions(-) diff --git a/osx/before-install.sh b/osx/before-install.sh index 0c5979849..0b321d0b3 100755 --- a/osx/before-install.sh +++ b/osx/before-install.sh @@ -2,5 +2,6 @@ set -e +# requirements for CI runner brew install make pkg-config autoconf automake \ autoconf-archive swig libtool dylibbundler gsed python3 pipx \ No newline at end of file diff --git a/osx/vcpkg-makefile b/osx/vcpkg-makefile index 7e59a86e4..c1c986fa7 100644 --- a/osx/vcpkg-makefile +++ b/osx/vcpkg-makefile @@ -72,7 +72,7 @@ update: checkout_ver $(VCPKG_CLEANUP): @if [ -d "$(VCPKG_ROOT)/$@/" ]; then \ - rm -rf "$(VCPKG_ROOT)/$@"; \ + rm -rf "$(VCPKG_ROOT)/$@"; \ fi; build_cleanup: $(VCPKG_CLEANUP) diff --git a/shared/templates/gdalcore.bundle.csproj.in b/shared/templates/gdalcore.bundle.csproj.in index 1a53b5451..de5c108bb 100644 --- a/shared/templates/gdalcore.bundle.csproj.in +++ b/shared/templates/gdalcore.bundle.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in index 8213331c3..26a1adaac 100644 --- a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets linux-arm64 and linux-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets linux-arm64 and linux-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.linuxruntime.csproj.in b/shared/templates/gdalcore.linuxruntime.csproj.in index 5d6b6d61d..49cc7cd34 100644 --- a/shared/templates/gdalcore.linuxruntime.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.loader.csproj.in b/shared/templates/gdalcore.loader.csproj.in index a17658daf..c162e335f 100644 --- a/shared/templates/gdalcore.loader.csproj.in +++ b/shared/templates/gdalcore.loader.csproj.in @@ -17,12 +17,11 @@ 10.0 https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} - - GDAL (${_GDAL_VERSION}) bindings for dotnet core (linux-x64, linux-arm64, osx-arm64, osx-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 (${_GDAL_VERSION}) bindings for dotnet core (linux-x64, linux-arm64, osx-arm64, osx-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 ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.macosruntime.bundle.csproj.in b/shared/templates/gdalcore.macosruntime.bundle.csproj.in index 1d964c74e..8b5506cc3 100644 --- a/shared/templates/gdalcore.macosruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.macosruntime.bundle.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets osx-arm64 and osx-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets osx-arm64 and osx-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} @@ -26,6 +26,7 @@ - GEOS ${_GEOS_VERSION} + diff --git a/shared/templates/gdalcore.macosruntime.csproj.in b/shared/templates/gdalcore.macosruntime.csproj.in index d7e92e16f..ca57ad599 100644 --- a/shared/templates/gdalcore.macosruntime.csproj.in +++ b/shared/templates/gdalcore.macosruntime.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets osx-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets osx-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} diff --git a/shared/templates/gdalcore.windowsruntime.csproj.in b/shared/templates/gdalcore.windowsruntime.csproj.in index 279099bf2..9c813640e 100644 --- a/shared/templates/gdalcore.windowsruntime.csproj.in +++ b/shared/templates/gdalcore.windowsruntime.csproj.in @@ -16,9 +16,9 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. - Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, - HDF4, HDF5, and others. - Targets win-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework $\geq$ 4.6.1, net6.0, net7.0, net8.0 +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, +HDF4, HDF5, and others. +Targets win-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} From 7800dec658e5ab148bd4ef51ac98379eaf363f1c Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 15:15:23 +0300 Subject: [PATCH 085/137] Enable cache for GH runners --- .github/workflows/macos.yml | 2 +- .github/workflows/unix.yml | 2 +- .github/workflows/windows.yml | 9 --------- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e6bb12d6c..2242c0f39 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -50,7 +50,7 @@ jobs: - name: Restore cached packages id: build-packages-cache-restore - uses: maxnowack/local-cache@main + uses: actions/cache@v4 with: path: | ${{ github.workspace }}/build-osx/ diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index de9f042de..a929b73eb 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -56,7 +56,7 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Cache restore - uses: maxnowack/local-cache@main + uses: actions/cache@v4 with: path: | ${{ github.workspace }}/.dotnet diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 5aae74b46..7076d8c57 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -40,15 +40,6 @@ jobs: api-user-nuget: ${{ secrets.API_USER_NUGET }} shell: pwsh - - name: Restore cached packages - id: build-packages-cache-restore - uses: maxnowack/local-cache@main - with: - path: | - ${{ github.workspace }}/build-win - ${{ github.workspace }}/.dotnet - key: ${{ runner.os }}-packages - - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 with: From 5d75aaa097cc8da416f8bfcf263374436daf83c7 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 15:47:44 +0300 Subject: [PATCH 086/137] Refactoring. OpenEXR should march on OSX --- .github/workflows/macos.yml | 1 + .github/workflows/main.yml | 90 ++++++++++++++++++++++++++--------- .github/workflows/unix.yml | 1 + .github/workflows/windows.yml | 3 +- osx/gdal-makefile | 1 + 5 files changed, 72 insertions(+), 24 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2242c0f39..4179a9fee 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,6 +1,7 @@ name: MacOS Build on: + workflow_call: push: branches: - main diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 82cd1e7fb..5b7e454ef 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Test packages from CI +name: Bundle packages on: pull_request: @@ -9,36 +9,23 @@ env: DOTNET_VERSION: '8.0.x' jobs: + LinuxBuild: + uses: MaxRev-Dev/gdal.netcore/.github/workflows/unix.yml@main - WaitForWorkflows: - name: Wait for workflows - runs-on: ubuntu-latest - if: always() - steps: - - name: Checkout repository - uses: actions/checkout@v3 + WindowsBuild: + uses: MaxRev-Dev/gdal.netcore/.github/workflows/windows.yml@main - - name: Wait for workflows - id: wait - uses: smartcontractkit/chainlink-github-actions/utils/wait-for-workflows@main - with: - max-timeout: "7200" # 2 hours - polling-interval: "60" # 1 minute - github-token: ${{ secrets.GITHUB_TOKEN }} - env: - DEBUG: "true" + MacOSBuild: + uses: MaxRev-Dev/gdal.netcore/.github/workflows/macos.yml@main TestNugetPackages: - needs: [WaitForWorkflows] + needs: [LinuxBuild, WindowsBuild, MacOSBuild] strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} - steps: - - name: Check needs results - if: needs.WaitForWorkflows.result != 'success' - run: exit 1 + steps: - uses: actions/checkout@v4 - name: Setup .NET Core SDK @@ -74,4 +61,61 @@ jobs: dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Bundle.Minimal --source local.ci dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} - dotnet test --no-restore ${{ env.TEST_PROJECT }} \ No newline at end of file + dotnet test --no-restore ${{ env.TEST_PROJECT }} + + PushPackages-Linux: + needs: TestPackages-Bundle + runs-on: ubuntu-latest + defaults: + run: + working-directory: unix + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup .NET Core SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Download artifact - packages + uses: actions/download-artifact@v4 + with: + pattern: | + packages-unix* + packages-win* + packages-osx* + merge-multiple: true + path: "${{ github.workspace}}/nuget/" + + - name: Download artifact - metadata + uses: actions/download-artifact@v4 + with: + pattern: metadata-* + merge-multiple: true + + - name: NuGet - set credentials + uses: ./.github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + + - name: Build bundle + run: | + make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + + - name: Store packages as artifact + uses: actions/upload-artifact@v4 + with: + name: packages-final + path: nuget/*.nupkg + overwrite: true + + - name: Push packages + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + run: | + make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ + BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} \ No newline at end of file diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index a929b73eb..b47b6bcfa 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -1,6 +1,7 @@ name: Linux Build on: + workflow_call: push: branches: - main diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 7076d8c57..0202f8ba8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,6 +1,7 @@ name: Windows Build on: + workflow_call: push: branches: - main @@ -66,7 +67,7 @@ jobs: path: | tests/gdal-formats/ overwrite: true - + - name: Store packages as artifact uses: actions/upload-artifact@v4 with: diff --git a/osx/gdal-makefile b/osx/gdal-makefile index c8a89cc95..930bc4ad6 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -144,6 +144,7 @@ configure_gdal: -DHDF4_df_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libhdf.dylib \ -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ -DHDF4_xdr_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libxdr.dylib \ + -DOpenEXR_ROOT=$(VCPKG_INSTALLED_DYNAMIC) \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ From 08f6967a9434c7cc4521b4152a468af55276b816 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 16:35:34 +0300 Subject: [PATCH 087/137] Refactoring. Adding Universal package --- .github/workflows/main.yml | 10 +++--- shared/templates/gdalcore.bundle.csproj.in | 19 +++--------- .../gdalcore.linuxruntime.bundle.csproj.in | 3 +- .../templates/gdalcore.linuxruntime.csproj.in | 3 +- .../gdalcore.macosruntime.bundle.csproj.in | 3 +- .../templates/gdalcore.macosruntime.csproj.in | 3 +- .../gdalcore.windowsruntime.csproj.in | 3 +- unix/publish-makefile | 31 ++++++++++++++----- unix/push-packages-makefile | 2 ++ 9 files changed, 38 insertions(+), 39 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5b7e454ef..54239cce2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: needs: [LinuxBuild, WindowsBuild, MacOSBuild] strategy: matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: @@ -43,9 +43,6 @@ jobs: pattern: metadata-* path: shared/bundle/targets - - run: ls -la nuget - - run: ls -la shared/bundle/targets - - name: NuGet - Update credentials run: | dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} @@ -58,12 +55,12 @@ jobs: env: TEST_PROJECT: tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj run: | - dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Bundle.Minimal --source local.ci + dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} dotnet test --no-restore ${{ env.TEST_PROJECT }} - PushPackages-Linux: + PushPackages: needs: TestPackages-Bundle runs-on: ubuntu-latest defaults: @@ -105,6 +102,7 @@ jobs: - name: Build bundle run: | + make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} - name: Store packages as artifact diff --git a/shared/templates/gdalcore.bundle.csproj.in b/shared/templates/gdalcore.bundle.csproj.in index de5c108bb..65235fe10 100644 --- a/shared/templates/gdalcore.bundle.csproj.in +++ b/shared/templates/gdalcore.bundle.csproj.in @@ -7,8 +7,8 @@ MaxRev © 2024 MaxRev true - MaxRev.Gdal.Bundle.Minimal - MaxRev.Gdal.Bundle.Minimal + MaxRev.Gdal.Universal + MaxRev.Gdal.Universal gdal;netcore;docker MIT README.md @@ -16,26 +16,15 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS, SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 - GDAL ${_GDAL_VERSION} - PROJ ${_PROJ_VERSION} -- GEOS ${_GEOS_VERSION} - - - - - - - - - - + diff --git a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in index 26a1adaac..55c5d03c0 100644 --- a/shared/templates/gdalcore.linuxruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.bundle.csproj.in @@ -16,8 +16,7 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets linux-arm64 and linux-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 diff --git a/shared/templates/gdalcore.linuxruntime.csproj.in b/shared/templates/gdalcore.linuxruntime.csproj.in index 49cc7cd34..476ce4ca5 100644 --- a/shared/templates/gdalcore.linuxruntime.csproj.in +++ b/shared/templates/gdalcore.linuxruntime.csproj.in @@ -16,8 +16,7 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets linux-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 diff --git a/shared/templates/gdalcore.macosruntime.bundle.csproj.in b/shared/templates/gdalcore.macosruntime.bundle.csproj.in index 8b5506cc3..9a299fee1 100644 --- a/shared/templates/gdalcore.macosruntime.bundle.csproj.in +++ b/shared/templates/gdalcore.macosruntime.bundle.csproj.in @@ -16,8 +16,7 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets osx-arm64 and osx-x64 runtimes. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 diff --git a/shared/templates/gdalcore.macosruntime.csproj.in b/shared/templates/gdalcore.macosruntime.csproj.in index ca57ad599..030fd2442 100644 --- a/shared/templates/gdalcore.macosruntime.csproj.in +++ b/shared/templates/gdalcore.macosruntime.csproj.in @@ -16,8 +16,7 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets osx-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 diff --git a/shared/templates/gdalcore.windowsruntime.csproj.in b/shared/templates/gdalcore.windowsruntime.csproj.in index 9c813640e..4d3698a7d 100644 --- a/shared/templates/gdalcore.windowsruntime.csproj.in +++ b/shared/templates/gdalcore.windowsruntime.csproj.in @@ -16,8 +16,7 @@ https://github.com/MaxRev-Dev/gdal.netcore ${_PACKAGE_BUILD_NUMBER} GDAL (${_GDAL_VERSION}) minimal libraries package. -Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, -HDF4, HDF5, and others. +Drivers included PROJ (${_PROJ_VERSION}), GEOS (${_GEOS_VERSION}), SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets win-${_BUILD_ARCH} runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0 diff --git a/unix/publish-makefile b/unix/publish-makefile index 7d823d633..5b76a80d9 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -1,3 +1,4 @@ +THIS_FILE := $(lastword $(MAKEFILE_LIST)) include RID.opt include ../shared/GdalCore.opt include ../shared/bundle/base.opt @@ -14,24 +15,26 @@ RUNTIME_PROJECT_FINAL=$(RUNTIME_PROJECT_UNIX_FINAL) GEOS_VERSION=$(shell $(MAKE) -f ../unix/generate-projects-makefile get-version IN_FILE=$(VCPKG_INSTALLED_DYNAMIC)/lib/pkgconfig/geos.pc) CAT_NAME=unix RUNTIME_PACKAGE_PARTIAL=LinuxRuntime +BUILD_ARCH_SUFFIX=.$(BUILD_ARCH) -all: prepare pack +all: pack generate-projects: $(MAKE) -f ../unix/generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=${RUNTIME_PACKAGE_PARTIAL} CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) +update-targets-no-ver: + cd $(PACKAGE_BUILD_ROOT) && \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal$(BUILD_ARCH_SUFFIX) -s $(NUGET_) + + update-targets: cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal.$(BUILD_ARCH) \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal$(BUILD_ARCH_SUFFIX) \ --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) package MaxRev.Gdal.Core \ --no-restore -v "$(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER)" -s $(NUGET_) -# remove source and ignore the error. this source was added by GDAL. -prepare: - -@dotnet nuget remove source local - pack-core: generate-projects dotnet pack -c Release -o $(NUGET_) $(GDALCORE_PROJECT_FINAL) @@ -41,10 +44,22 @@ pack-runtime: generate-projects pack-bundle: generate-projects pack-bundle-only @exit 0 -pack-bundle-only: prepare update-targets +pack-bundle-only: update-targets dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_$(CAT_NAME_UP)_FINAL) -pack: prepare pack-core pack-runtime +pack-bundle-final: + $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=unix RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BUILD_ARCH=x64 + $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=unix RUNTIME_PACKAGE_PARTIAL=LinuxRuntime BUILD_ARCH=arm64 + $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=osx RUNTIME_PACKAGE_PARTIAL=MacosRuntime BUILD_ARCH=x64 + $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=osx RUNTIME_PACKAGE_PARTIAL=MacosRuntime BUILD_ARCH=arm64 + $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=win BUILD_ARCH_SUFFIX= RUNTIME_PACKAGE_PARTIAL=WindowsRuntime + + cd $(PACKAGE_BUILD_ROOT) && \ + dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.Core -s $(NUGET_) + + dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_FINAL) + +pack: pack-core pack-runtime @exit 0 pack-core-dev: generate-projects diff --git a/unix/push-packages-makefile b/unix/push-packages-makefile index 95c3b105c..942312e0d 100644 --- a/unix/push-packages-makefile +++ b/unix/push-packages-makefile @@ -3,6 +3,8 @@ include ../shared/GdalCore.opt TARGETS=$(wildcard $(NUGET_)/MaxRev.Gdal.*Runtime.Minimal*.nupkg) +TARGETS+=$(wildcard $(NUGET_)/MaxRev.Gdal.Universal*.nupkg) + ifneq ($(INCLUDE_CORE),) TARGETS+=$(wildcard $(NUGET_)/MaxRev.Gdal.Core.*.nupkg) endif From 331ebf0d3b251829f6d8ab9c54f600779549ee0f Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 18:07:10 +0300 Subject: [PATCH 088/137] Updates --- osx/gdal-makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 930bc4ad6..c7a3e0ecc 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -145,6 +145,7 @@ configure_gdal: -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ -DHDF4_xdr_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libxdr.dylib \ -DOpenEXR_ROOT=$(VCPKG_INSTALLED_DYNAMIC) \ + -DImath_ROOT=$(VCPKG_INSTALLED_DYNAMIC) \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ From 303deac96c7bb6bebef5fe385e0cd97d0814e9d7 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 18:29:17 +0300 Subject: [PATCH 089/137] Updates --- ci/Dockerfile.unix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/Dockerfile.unix b/ci/Dockerfile.unix index 7dd8090dd..624e6140c 100644 --- a/ci/Dockerfile.unix +++ b/ci/Dockerfile.unix @@ -66,7 +66,7 @@ COPY unix/RID.opt /build/unix/RID.opt COPY unix/vcpkg-makefile /build/unix/ COPY unix/gdal-makefile /build/unix/ # load cache from previous build -COPY ci/cache*/vcpkg* /build/ci/cache/ +COPY ci/cache*/vcpkg* /build/ci/cache/vcpkg-archives/ COPY ci/cache*/build-unix* /build/build-unix/ RUN set -a && . /tmp/gdal-netcore-env && set +a; \ From 12e67db98628dae44a9cbe3bb64b72912470eb53 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 18:32:13 +0300 Subject: [PATCH 090/137] Updates --- .github/workflows/macos.yml | 3 ++- .github/workflows/main.yml | 4 ++++ .github/workflows/unix.yml | 3 ++- .github/workflows/windows.yml | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4179a9fee..e13b3dbc5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -11,7 +11,8 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - + cancel-in-progress: true + env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet/ DOTNET_VERSION: '8.0.x' diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 54239cce2..39e74515f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,10 @@ on: pull_request: branches: [ main ] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index b47b6bcfa..d927e33c1 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -11,7 +11,8 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - + cancel-in-progress: true + env: DOCKER_REGISTRY: ghcr.io/maxrev-dev DOTNET_VERSION: '8.0.x' diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 0202f8ba8..2de324c2f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,7 +11,8 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} - + cancel-in-progress: true + env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' From 993bd022e7f3b701b55434d54aed36a9f903637e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 22:08:29 +0300 Subject: [PATCH 091/137] Fixing OpenEXR detection of moved Half library --- osx/gdal-makefile | 5 +++-- unix/gdal-makefile | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index c7a3e0ecc..2ca962867 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -144,14 +144,15 @@ configure_gdal: -DHDF4_df_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libhdf.dylib \ -DHDF4_mfhdf_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libmfhdf.dylib \ -DHDF4_xdr_LIBRARY_RELEASE=$(BUILD_ROOT)/hdf-build/lib/libxdr.dylib \ - -DOpenEXR_ROOT=$(VCPKG_INSTALLED_DYNAMIC) \ - -DImath_ROOT=$(VCPKG_INSTALLED_DYNAMIC) \ + -DOpenEXR_HALF_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libImath-3_1.dylib \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.dylib \ -DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \ -DCMAKE_OSX_DEPLOYMENT_TARGET=$(OSX_DEPLOYMENT_TARGET) \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) || exit 1 +# openexr half was moved to imath + @echo "$(TO) GDAL was configured!" configure_proj: diff --git a/unix/gdal-makefile b/unix/gdal-makefile index 117eba808..bf022a3d1 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -131,6 +131,7 @@ configure_gdal: -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.so \ -DCURL_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ -DCURL_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libcurl.so" \ + -DOpenEXR_HALF_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libImath-3_1.dylib \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) \ -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build \ || exit 1 From d7d26a42bfcdf74d93c40d41ee0e312051d54456 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 23:07:35 +0300 Subject: [PATCH 092/137] Fixed library reference on linux --- unix/gdal-makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/unix/gdal-makefile b/unix/gdal-makefile index bf022a3d1..a30d1e8c0 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -112,6 +112,7 @@ configure_gdal: @if [[ -d "$(GDAL_ROOT)/autotest" ]]; then rm -r "$(GDAL_ROOT)/autotest"; fi; -mkdir -p $(GDAL_CMAKE_TMP) + @cd $(GDAL_CMAKE_TMP) && cmake $(GDAL_ROOT) \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="-fPIC" \ @@ -129,9 +130,9 @@ configure_gdal: -DBUILD_SHARED_LIBS=ON \ -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.so \ - -DCURL_INCLUDE_DIR="$(VCPKG_INSTALLED)/include" \ - -DCURL_LIBRARY_RELEASE="$(VCPKG_INSTALLED_DYNAMIC)/lib/libcurl.so" \ - -DOpenEXR_HALF_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libImath-3_1.dylib \ + -DCURL_INCLUDE_DIR=$(VCPKG_INSTALLED)/include \ + -DCURL_LIBRARY_RELEASE=$(VCPKG_INSTALLED_DYNAMIC)/lib/libcurl.so \ + -DOpenEXR_HALF_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libImath-3_1.so \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) \ -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build \ || exit 1 From 1baec5a5d7546cb7cd75fcc46913fe3e66ad0359 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 6 Jun 2024 23:59:12 +0300 Subject: [PATCH 093/137] Add EXR to windows runtime --- .github/workflows/windows.yml | 11 ++++++++++- shared/GdalCore.opt | 8 ++++---- tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2de324c2f..305c097ef 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true - + env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' @@ -42,6 +42,15 @@ jobs: api-user-nuget: ${{ secrets.API_USER_NUGET }} shell: pwsh + - name: Restore cached packages + id: build-packages-cache-restore + uses: actions/cache@v4 + with: + path: | + ${{ github.workspace }}/build-win/ + ${{ github.workspace }}/.dotnet/ + key: ${{ runner.os }}-packages- + - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 with: diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 8b0deca9e..2288b194d 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -29,21 +29,21 @@ VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl -VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" +VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" # windows runtime now depends on GisInternals SDK # we have nothing to install except custom geos and proj -VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" +VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" VCPKG_REQUIRE_WIN_STATIC= # the default configuration is dynamic # libmysql is not available from vcpkg for arm64 VCPKG_REQUIRE_UNIX= -VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) "sqlite3[tool,rtree]" +VCPKG_REQUIRE_UNIX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) # osx requires the same libs as linux # sqlite static is required only to build proj.db VCPKG_REQUIRE_OSX=$(VCPKG_REQUIRE_UNIX) "sqlite3[tool,rtree]" -VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql "sqlite3[tool,rtree]" +VCPKG_REQUIRE_OSX_DYNAMIC=$(VCPKG_REQUIRE) $(VCPKG_REQUIRE_DYNAMIC) netcdf-c libmysql VCPKG_CLEANUP=buildtrees downloads packages installed diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs index 2d87d1b53..aa4b0f574 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs @@ -106,7 +106,7 @@ public static IEnumerable DriversInCurrentVersion "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", "DIMAP","DIPEx","DOQ1","DOQ2","DTED","DXF","ECRGTOC","EDIGEO", "EEDA","EEDAI","EHdr","EIR","ELAS","Elasticsearch","ENVI","ERS", - "ESAT","ESRI Shapefile","ESRIC","ESRIJSON","FAST","FIT","FITS", + "ESAT","ESRI Shapefile","ESRIC","ESRIJSON", "EXR", "FAST","FIT","FITS", "FlatGeobuf","GenBin","Geoconcept","GeoJSON","GeoJSONSeq","GeoRSS", "GFF","GIF","GML","GMLAS","GNMDatabase","GNMFile","GPKG","GPSBabel", "GPX","GRASSASCIIGrid","GRIB","GS7BG","GSAG","GSBG","GSC","GTFS","GTI","GTiff", From a939382980729513b1173359f5ba86ee0b61ede5 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 00:00:07 +0300 Subject: [PATCH 094/137] Remove windows cache to fit limits --- .github/workflows/windows.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 305c097ef..2de324c2f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true - + env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' @@ -42,15 +42,6 @@ jobs: api-user-nuget: ${{ secrets.API_USER_NUGET }} shell: pwsh - - name: Restore cached packages - id: build-packages-cache-restore - uses: actions/cache@v4 - with: - path: | - ${{ github.workspace }}/build-win/ - ${{ github.workspace }}/.dotnet/ - key: ${{ runner.os }}-packages- - - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 with: From dbf00bc00e6778ef7e39d39683cb81b8616f4a53 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 00:45:17 +0300 Subject: [PATCH 095/137] Adding more drivers --- shared/GdalCore.opt | 4 ++-- unix/gdal-makefile | 4 ---- win/partials.psm1 | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 2288b194d..e8632beee 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -29,10 +29,10 @@ VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl -VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" +VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp "libarchive[zstd]" "blosc[zlib,zstd,lz4]" "poppler[zlib,glib,curl]" # windows runtime now depends on GisInternals SDK # we have nothing to install except custom geos and proj -VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" +VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" libiconv lz4 liblzma "poppler[zlib,glib,curl]" "libjxl[tools]" "blosc[zlib,zstd,lz4]" "libarchive[zstd]" cryptopp VCPKG_REQUIRE_WIN_STATIC= # the default configuration is dynamic diff --git a/unix/gdal-makefile b/unix/gdal-makefile index a30d1e8c0..be18b7183 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -128,10 +128,6 @@ configure_gdal: -DCSHARP_APPLICATION_VERSION=$(GDAL_CSHARP_VERSION) \ -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_SHARED_LIBS=ON \ - -DPROJ_INCLUDE_DIR=$(PROJ_BUILD)/include \ - -DPROJ_LIBRARY_RELEASE=$(PROJ_BUILD)/lib/libproj.so \ - -DCURL_INCLUDE_DIR=$(VCPKG_INSTALLED)/include \ - -DCURL_LIBRARY_RELEASE=$(VCPKG_INSTALLED_DYNAMIC)/lib/libcurl.so \ -DOpenEXR_HALF_LIBRARY=$(VCPKG_INSTALLED_DYNAMIC)/lib/libImath-3_1.so \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) \ -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build \ diff --git a/win/partials.psm1 b/win/partials.psm1 index 63f07a06f..fb945fa88 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -194,7 +194,7 @@ function Build-Gdal { $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" $env:CMAKE_INSTALL_PREFIX = "-DCMAKE_INSTALL_PREFIX=$env:GDAL_INSTALL_DIR" $env:PROJ_ROOT = "-DPROJ_ROOT=$env:PROJ_INSTALL_DIR" - $env:CMAKE_PREFIX_PATH = "-DCMAKE_PREFIX_PATH=$env:SDK_PREFIX" + $env:CMAKE_PREFIX_PATH = "-DCMAKE_PREFIX_PATH=$env:SDK_PREFIX;$env:VCPKG_ROOT\installed\x64-windows" $env:MYSQL_LIBRARY = "-DMYSQL_LIBRARY=$env:SDK_LIB\libmysql.lib" $env:POPPLER_EXTRA_LIBRARIES = "-DPOPPLER_EXTRA_LIBRARIES=$env:SDK_LIB\freetype.lib;$env:SDK_LIB\harfbuzz.lib" From 61b0ae616cbdb458e2d9801d6f3f7d48d9d88aa0 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 03:28:38 +0300 Subject: [PATCH 096/137] Updates --- shared/GdalCore.opt | 4 ++-- win/partials.psm1 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index e8632beee..6b20c7013 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -29,10 +29,10 @@ VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl -VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp "libarchive[zstd]" "blosc[zlib,zstd,lz4]" "poppler[zlib,glib,curl]" +VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp "libarchive[zstd]" blosc "poppler[zlib,glib,curl]" # windows runtime now depends on GisInternals SDK # we have nothing to install except custom geos and proj -VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" libiconv lz4 liblzma "poppler[zlib,glib,curl]" "libjxl[tools]" "blosc[zlib,zstd,lz4]" "libarchive[zstd]" cryptopp +VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" libiconv lz4 liblzma "poppler[zlib,glib,curl]" "libjxl[tools]" blosc "libarchive[zstd]" cryptopp VCPKG_REQUIRE_WIN_STATIC= # the default configuration is dynamic diff --git a/win/partials.psm1 b/win/partials.psm1 index fb945fa88..13a03985f 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -258,7 +258,7 @@ function Build-Gdal { -DGDAL_USE_KEA=OFF ` -DGDAL_USE_ZLIB_INTERNAL=ON ` -DECW_INTERFACE_COMPILE_DEFINITIONS="_MBCS;_UNICODE;UNICODE;_WINDOWS;LIBECWJ2;WIN32;_WINDLL;NO_X86_MMI" ` - -DGDAL_CSHARP_APPS=OFF ` + -DGDAL_CSHARP_APPS=ON ` -DGDAL_CSHARP_TESTS=OFF ` -DGDAL_CSHARP_BUILD_NUPKG=OFF ` -DBUILD_CSHARP_BINDINGS=ON ` From f666c0ee34ae03b24c0378a977d270be54c27cfe Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 04:23:06 +0300 Subject: [PATCH 097/137] Updates --- osx/gdal-makefile | 10 +++++----- unix/gdal-makefile | 4 ++-- win/partials.psm1 | 7 +++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/osx/gdal-makefile b/osx/gdal-makefile index 2ca962867..b08885074 100644 --- a/osx/gdal-makefile +++ b/osx/gdal-makefile @@ -97,10 +97,10 @@ configure_hdf: -mkdir -p $(HDF_CMAKE_TMP) @cd $(HDF_CMAKE_TMP) && cmake $(HDF_SOURCE) \ - -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/hdf-build \ + -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/hdf-build -Wno-dev \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS="-Wno-dev" \ - -DCMAKE_CXX_FLAGS="-fPIC -Wno-dev" \ + -DCMAKE_C_FLAGS="-fPIC" \ + -DCMAKE_CXX_FLAGS="-fPIC" \ -DCMAKE_PREFIX_PATH=$(VCPKG_INSTALLED_DYNAMIC) \ -DCMAKE_OSX_DEPLOYMENT_TARGET=$(OSX_DEPLOYMENT_TARGET) || exit 1 @@ -122,7 +122,7 @@ configure_gdal: -mkdir -p $(GDAL_CMAKE_TMP) @cd $(GDAL_CMAKE_TMP) && cmake $(GDAL_ROOT) \ - -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build \ + -DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT)/gdal-build -Wno-dev \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="-fPIC" \ -DCMAKE_CXX_FLAGS="-fPIC" \ @@ -162,7 +162,7 @@ configure_proj: -mkdir -p $(PROJ_CMAKE_TMP) @cd $(PROJ_CMAKE_TMP) && \ cmake $(PROJ_ROOT) \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=Release -Wno-dev \ -DCMAKE_MAKE_PROGRAM=make \ -DCMAKE_C_FLAGS="-Wno-deprecated-declarations" \ -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \ diff --git a/unix/gdal-makefile b/unix/gdal-makefile index be18b7183..5ba499376 100644 --- a/unix/gdal-makefile +++ b/unix/gdal-makefile @@ -114,7 +114,7 @@ configure_gdal: -mkdir -p $(GDAL_CMAKE_TMP) @cd $(GDAL_CMAKE_TMP) && cmake $(GDAL_ROOT) \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=Release -Wno-dev \ -DCMAKE_C_FLAGS="-fPIC" \ -DCMAKE_CXX_FLAGS="-fPIC" \ -DGDAL_USE_DEFLATE=OFF \ @@ -143,7 +143,7 @@ configure_proj: @cd $(PROJ_CMAKE_TMP) && \ cmake $(PROJ_ROOT) \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=Release -Wno-dev\ -DCMAKE_MAKE_PROGRAM=make \ -DCMAKE_C_FLAGS="-Wno-deprecated-declarations" \ -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \ diff --git a/win/partials.psm1 b/win/partials.psm1 index 13a03985f..fb915a570 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -194,7 +194,6 @@ function Build-Gdal { $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" $env:CMAKE_INSTALL_PREFIX = "-DCMAKE_INSTALL_PREFIX=$env:GDAL_INSTALL_DIR" $env:PROJ_ROOT = "-DPROJ_ROOT=$env:PROJ_INSTALL_DIR" - $env:CMAKE_PREFIX_PATH = "-DCMAKE_PREFIX_PATH=$env:SDK_PREFIX;$env:VCPKG_ROOT\installed\x64-windows" $env:MYSQL_LIBRARY = "-DMYSQL_LIBRARY=$env:SDK_LIB\libmysql.lib" $env:POPPLER_EXTRA_LIBRARIES = "-DPOPPLER_EXTRA_LIBRARIES=$env:SDK_LIB\freetype.lib;$env:SDK_LIB\harfbuzz.lib" @@ -249,15 +248,15 @@ function Build-Gdal { # https://github.com/OSGeo/gdal/blob/3b232ee17d8f3d93bf3535b77fbb436cb9a9c2e0/.github/workflows/windows_build.yml#L178 cmake -G $env:VS_VERSION -A $env:CMAKE_ARCHITECTURE "$env:GDAL_SOURCE" ` $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` - $env:CMAKE_PREFIX_PATH -DCMAKE_C_FLAGS=" $env:ARCH_FLAGS" ` - -DCMAKE_CXX_FLAGS=" $env:ARCH_FLAGS" -DGDAL_USE_DEFLATE=OFF ` + -DCMAKE_C_FLAGS="$env:ARCH_FLAGS" ` + -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:BUILD_ROOT\vcpkg\installed\x64-windows" ` + -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" -DGDAL_USE_DEFLATE=OFF ` -DGDAL_USE_MSSQL_ODBC=OFF ` $env:WEBP_ROOT $env:WEBP_LIB ` $env:PROJ_ROOT $env:MYSQL_LIBRARY ` $env:POPPLER_EXTRA_LIBRARIES ` -DGDAL_USE_KEA=OFF ` -DGDAL_USE_ZLIB_INTERNAL=ON ` - -DECW_INTERFACE_COMPILE_DEFINITIONS="_MBCS;_UNICODE;UNICODE;_WINDOWS;LIBECWJ2;WIN32;_WINDLL;NO_X86_MMI" ` -DGDAL_CSHARP_APPS=ON ` -DGDAL_CSHARP_TESTS=OFF ` -DGDAL_CSHARP_BUILD_NUPKG=OFF ` From cf3aa5a261d65435911b2d1c6e4aaef1a3b1837b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 16:34:07 +0300 Subject: [PATCH 098/137] Updates --- win/partials.psm1 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/win/partials.psm1 b/win/partials.psm1 index fb915a570..5e9a4cf4a 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -244,14 +244,15 @@ function Build-Gdal { New-FolderIfNotExists "$PSScriptRoot\..\nuget" $env:ARCH_FLAGS = "/arch:AVX2 /Ob2 /Oi /Os /Oy" + $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" # disabling KEA driver as it causes build issues on Windows # https://github.com/OSGeo/gdal/blob/3b232ee17d8f3d93bf3535b77fbb436cb9a9c2e0/.github/workflows/windows_build.yml#L178 cmake -G $env:VS_VERSION -A $env:CMAKE_ARCHITECTURE "$env:GDAL_SOURCE" ` $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` -DCMAKE_C_FLAGS="$env:ARCH_FLAGS" ` - -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:BUILD_ROOT\vcpkg\installed\x64-windows" ` - -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" -DGDAL_USE_DEFLATE=OFF ` - -DGDAL_USE_MSSQL_ODBC=OFF ` + -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:VCPKG_INSTALLED" ` + -DGDAL_USE_OPENEXR=OFF ` + -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" ` $env:WEBP_ROOT $env:WEBP_LIB ` $env:PROJ_ROOT $env:MYSQL_LIBRARY ` $env:POPPLER_EXTRA_LIBRARIES ` @@ -264,6 +265,7 @@ function Build-Gdal { -DBUILD_JAVA_BINDINGS=OFF ` -DBUILD_PYTHON_BINDINGS=OFF + Write-BuildStep "Building GDAL" exec { cmake --build . -j $env:CMAKE_PARALLEL_JOBS --config Release --target install } @@ -315,7 +317,7 @@ function Build-CsharpBindings { } function Write-GdalFormats { - Set-Location "$env:GDAL_INSTALL_DIR\bin" + Set-Location "$env:GDAL_INSTALL_DIR\share\csharp" # write to file try { $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") From a1565199205b61f8e0f418766e0875e2539b7a24 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 16:35:24 +0300 Subject: [PATCH 099/137] Updates --- .github/workflows/windows.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2de324c2f..fb44ce09e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -42,6 +42,16 @@ jobs: api-user-nuget: ${{ secrets.API_USER_NUGET }} shell: pwsh + - name: Cache restore + uses: actions/cache@v4 + with: + path: | + ${{ github.workspace }}/.dotnet + ${{ github.workspace }}/build-win/vcpkg + key: ${{ runner.os }}-buildx-${{ matrix.os }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 with: From 5f676e22772c595a93cf1fc60be33961cdd22d43 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 17:53:21 +0300 Subject: [PATCH 100/137] Updates --- shared/GdalCore.opt | 4 +-- shared/scripts/combine-formats.py | 49 +++++++++++++++++++++++++++++++ shared/scripts/requirements.txt | 3 ++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 shared/scripts/combine-formats.py create mode 100644 shared/scripts/requirements.txt diff --git a/shared/GdalCore.opt b/shared/GdalCore.opt index 6b20c7013..6d869d2f0 100644 --- a/shared/GdalCore.opt +++ b/shared/GdalCore.opt @@ -29,10 +29,10 @@ VCPKG_COMMIT_VER=2024.04.26 # base requirements for both runtimes VCPKG_REQUIRE=geos "tiff[zstd,zip,jpeg,tools,lzma,cxx,webp]" curl -VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp "libarchive[zstd]" blosc "poppler[zlib,glib,curl]" +VCPKG_REQUIRE_DYNAMIC=openssl zlib expat xerces-c zlib libxml2 libpq openjpeg cfitsio "openexr[tools]" unixodbc libwebp giflib "hdf5[cpp]" pcre freexl libkml libpng "libjxl[tools]" netcdf-c "libgeotiff[tools]" "sqlite3[tool,rtree]" cryptopp blosc # windows runtime now depends on GisInternals SDK # we have nothing to install except custom geos and proj -VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" "openexr[tools]" libiconv lz4 liblzma "poppler[zlib,glib,curl]" "libjxl[tools]" blosc "libarchive[zstd]" cryptopp +VCPKG_REQUIRE_WIN=$(VCPKG_REQUIRE) "sqlite3[tool,rtree]" libiconv lz4 liblzma "libjxl[tools]" blosc cryptopp VCPKG_REQUIRE_WIN_STATIC= # the default configuration is dynamic diff --git a/shared/scripts/combine-formats.py b/shared/scripts/combine-formats.py new file mode 100644 index 000000000..2c7dc4c07 --- /dev/null +++ b/shared/scripts/combine-formats.py @@ -0,0 +1,49 @@ +import os +import pandas as pd +import matplotlib.pyplot as plt +import sys + +def parse_file(file_path): + drivers = set() + with open(file_path, 'r') as file: + for line in file: + if 'raster' in line or 'vector' in line: + driver = line.strip().split(' ')[0].strip() + drivers.add(driver) + return drivers + +def main(directory): + data = {} + all_drivers = set() + + for file_name in os.listdir(directory): + if file_name.endswith(".txt"): + parts = file_name.split('-') + os_tag = parts[2] + if (len(parts) < 4): continue + type_tag = parts[3].split('.')[0] + key = f"{os_tag} ({type_tag})" + file_path = os.path.join(directory, file_name) + drivers = parse_file(file_path) + data[key] = drivers + all_drivers.update(drivers) + + sorted_keys = sorted(data.keys(), key=lambda x: ('vector' in x, x)) + table = pd.DataFrame(index=sorted(all_drivers), columns=sorted_keys) + + for key, drivers in data.items(): + table[key] = ['✓' if driver in drivers else '✗' for driver in table.index] + + save_table_as_markdown(table, os.path.join(directory, 'supported_drivers.md')) + +def save_table_as_markdown(table, output_path): + with open(output_path, 'w') as file: + file.write(table.to_markdown()) + +if __name__ == "__main__": + if len(sys.argv) > 1: + directory = sys.argv[1] + else: + print("Usage: python combine-formats.py ") + sys.exit(1) + main(directory) \ No newline at end of file diff --git a/shared/scripts/requirements.txt b/shared/scripts/requirements.txt new file mode 100644 index 000000000..109a31e73 --- /dev/null +++ b/shared/scripts/requirements.txt @@ -0,0 +1,3 @@ +matplotlib==3.9.0 +pandas==2.2.2 +tabulate==0.9.0 \ No newline at end of file From 958a3e0d402fd0c83b935f1ffc99d87d3d1823ed Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 20:55:04 +0300 Subject: [PATCH 101/137] Updates --- .github/workflows/windows.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index fb44ce09e..b31289876 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -16,6 +16,7 @@ concurrency: env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' + VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-archives/ IS_PRE_RELEASE: ${{ !contains(github.ref, 'main') || contains(github.event.head_commit.message, '[prerelease]') }} jobs: @@ -47,7 +48,7 @@ jobs: with: path: | ${{ github.workspace }}/.dotnet - ${{ github.workspace }}/build-win/vcpkg + ${{ github.workspace }}/vcpkg-archives/ key: ${{ runner.os }}-buildx-${{ matrix.os }} restore-keys: | ${{ runner.os }}-buildx- From 13b14485554f1a0287d15df1022a60566fbbd88e Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 7 Jun 2024 21:04:12 +0300 Subject: [PATCH 102/137] Updates --- win/partials.psm1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/win/partials.psm1 b/win/partials.psm1 index 5e9a4cf4a..959b3fe81 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -82,6 +82,8 @@ function Get-VcpkgInstallation { [bool] $bootstrapVcpkg = $true ) + New-FolderIfNotExists $env:VCPKG_DEFAULT_BINARY_CACHE + Write-BuildStep "Checking for VCPKG installation" if ($bootstrapVcpkg) { Get-CloneAndCheckoutCleanGitRepo https://github.com/Microsoft/vcpkg.git master $env:VCPKG_ROOT From 0267012486871cacb77cf8d3b4cf57b1a8ccef3c Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 8 Jun 2024 00:08:29 +0300 Subject: [PATCH 103/137] Updates --- win/collect-deps-makefile.vc | 2 +- win/partials.psm1 | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/win/collect-deps-makefile.vc b/win/collect-deps-makefile.vc index e9fed69ed..d0d2bc2b2 100644 --- a/win/collect-deps-makefile.vc +++ b/win/collect-deps-makefile.vc @@ -31,8 +31,8 @@ collect_bindings: collect: collect_bindings copyprojdb @if not exist "$(OUTPUT)" mkdir "$(OUTPUT)" + $(COPY) "$(abspath $(SDK_ROOT)\bin)\*.dll" "$(OUTPUT)\" $(COPY) "$(abspath $(VCPKG_INSTALLED)\bin)\*.dll" "$(OUTPUT)\" - $(COPY) "$(abspath $(SDK_ROOT)\bin)\*.dll" "$(OUTPUT)\" # remove SDK dlls that are not needed $(DEL_FILE) "$(OUTPUT)\gdal*.dll" $(COPY) "$(abspath $(BUILD_ROOT)\gdal-build\share\csharp)\*_wrap.dll" "$(OUTPUT)\" diff --git a/win/partials.psm1 b/win/partials.psm1 index 959b3fe81..95fe90d3b 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -253,6 +253,8 @@ function Build-Gdal { $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` -DCMAKE_C_FLAGS="$env:ARCH_FLAGS" ` -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:VCPKG_INSTALLED" ` + -DGEOS_LIBRARY=$env:VCPKG_INSTALLED\lib\geos.lib ` + -DGEOS_INCLUDE_DIR=$env:VCPKG_INSTALLED\include ` -DGDAL_USE_OPENEXR=OFF ` -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" ` $env:WEBP_ROOT $env:WEBP_LIB ` From 6b10f8f4220180f53afa21adbcd2de69b2dc9367 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 8 Jun 2024 00:09:07 +0300 Subject: [PATCH 104/137] Updates --- .github/workflows/main.yml | 8 ++++ shared/scripts/combine-formats.py | 70 +++++++++++++++++++++++-------- shared/scripts/requirements.txt | 3 +- win/partials.psm1 | 2 - 4 files changed, 63 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 39e74515f..7e794c098 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,6 +108,14 @@ jobs: run: | make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + + - name: Commit changes + uses: EndBug/add-and-commit@v9 + with: + author_name: MaxRev-Dev + author_email: cmthea32@gmail.com + message: 'List of drivers in current version' + add: 'tests/gdal-formats/**' - name: Store packages as artifact uses: actions/upload-artifact@v4 diff --git a/shared/scripts/combine-formats.py b/shared/scripts/combine-formats.py index 2c7dc4c07..92e83280c 100644 --- a/shared/scripts/combine-formats.py +++ b/shared/scripts/combine-formats.py @@ -1,44 +1,80 @@ import os import pandas as pd import matplotlib.pyplot as plt +import regex as re import sys + def parse_file(file_path): - drivers = set() - with open(file_path, 'r') as file: + drivers = {} + with open(file_path, "r") as file: for line in file: - if 'raster' in line or 'vector' in line: - driver = line.strip().split(' ')[0].strip() - drivers.add(driver) + if " -raster" in line or " -vector" in line: + match = re.match( + r"^\s*([A-Za-z0-9_]+)\s+-[A-Za-z, ]+-\s+\(([\w\+]+)\):", line + ) + if match: + driver = match.group(1).strip() + capabilities = match.group(2).strip() + drivers[driver] = capabilities return drivers + def main(directory): data = {} - all_drivers = set() + all_drivers = set() for file_name in os.listdir(directory): - if file_name.endswith(".txt"): - parts = file_name.split('-') + if file_name.startswith("gdal-") and file_name.endswith(".txt"): + parts = file_name.split("-") + if len(parts) < 4: + continue os_tag = parts[2] - if (len(parts) < 4): continue - type_tag = parts[3].split('.')[0] + type_tag = parts[3].split(".")[0] key = f"{os_tag} ({type_tag})" file_path = os.path.join(directory, file_name) drivers = parse_file(file_path) data[key] = drivers - all_drivers.update(drivers) - - sorted_keys = sorted(data.keys(), key=lambda x: ('vector' in x, x)) + all_drivers.update(drivers.keys()) + + # Sort columns by type (raster, vector) + sorted_keys = sorted(data.keys(), key=lambda x: ("vector" in x, x)) + table = pd.DataFrame(index=sorted(all_drivers), columns=sorted_keys) for key, drivers in data.items(): - table[key] = ['✓' if driver in drivers else '✗' for driver in table.index] + for driver in all_drivers: + table.loc[driver, key] = drivers.get(driver, "✗") + + save_table_as_markdown(table, os.path.join(directory, "supported_drivers.md")) - save_table_as_markdown(table, os.path.join(directory, 'supported_drivers.md')) def save_table_as_markdown(table, output_path): - with open(output_path, 'w') as file: + note = """ +**Note:** + +- `r`: Read support +- `w`: Write support +- `+`: Update (read/write) support +- `v`: Supports virtual IO operations (like reading from `/vsimem`, `/vsicurl`, etc.) +- `s`: Supports subdatasets +- `o`: Optional features + +Combining these abbreviations, you get: + +- `ro`: Read-only support +- `rw`: Read and write support +- `rw+`: Read, write, and update support +- `rovs`: Read-only support with virtual IO and subdataset support +- `rw+v`: Read, write, update support with virtual IO +""" + + with open(output_path, "w") as file: + file.write("# Supported GDAL Drivers\n") file.write(table.to_markdown()) + file.write("\n\n") + file.write(note) + if __name__ == "__main__": if len(sys.argv) > 1: @@ -46,4 +82,4 @@ def save_table_as_markdown(table, output_path): else: print("Usage: python combine-formats.py ") sys.exit(1) - main(directory) \ No newline at end of file + main(directory) diff --git a/shared/scripts/requirements.txt b/shared/scripts/requirements.txt index 109a31e73..405db741e 100644 --- a/shared/scripts/requirements.txt +++ b/shared/scripts/requirements.txt @@ -1,3 +1,4 @@ matplotlib==3.9.0 pandas==2.2.2 -tabulate==0.9.0 \ No newline at end of file +regex==2024.5.15 +tabulate==0.9.0 diff --git a/win/partials.psm1 b/win/partials.psm1 index 95fe90d3b..959b3fe81 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -253,8 +253,6 @@ function Build-Gdal { $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` -DCMAKE_C_FLAGS="$env:ARCH_FLAGS" ` -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:VCPKG_INSTALLED" ` - -DGEOS_LIBRARY=$env:VCPKG_INSTALLED\lib\geos.lib ` - -DGEOS_INCLUDE_DIR=$env:VCPKG_INSTALLED\include ` -DGDAL_USE_OPENEXR=OFF ` -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" ` $env:WEBP_ROOT $env:WEBP_LIB ` From 0d6a9b80f9258186f9218bc30414a6afb2d33032 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 8 Jun 2024 01:30:24 +0300 Subject: [PATCH 105/137] Remove EXR as windows fails to compile --- tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs index aa4b0f574..4ecc2d8ee 100644 --- a/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs +++ b/tests/MaxRev.Gdal.Core.Tests.XUnit/CommonTests.cs @@ -106,7 +106,7 @@ public static IEnumerable DriversInCurrentVersion "CPG","CSV","CSW","CTable2","CTG","DAAS","DERIVED","DGN", "DIMAP","DIPEx","DOQ1","DOQ2","DTED","DXF","ECRGTOC","EDIGEO", "EEDA","EEDAI","EHdr","EIR","ELAS","Elasticsearch","ENVI","ERS", - "ESAT","ESRI Shapefile","ESRIC","ESRIJSON", "EXR", "FAST","FIT","FITS", + "ESAT","ESRI Shapefile","ESRIC","ESRIJSON", "FAST","FIT","FITS", "FlatGeobuf","GenBin","Geoconcept","GeoJSON","GeoJSONSeq","GeoRSS", "GFF","GIF","GML","GMLAS","GNMDatabase","GNMFile","GPKG","GPSBabel", "GPX","GRASSASCIIGrid","GRIB","GS7BG","GSAG","GSBG","GSC","GTFS","GTI","GTiff", From 3b13c6e71b6dc3e5ba2acf66788642ccebec77ba Mon Sep 17 00:00:00 2001 From: MaxRev Date: Sat, 8 Jun 2024 02:47:31 +0300 Subject: [PATCH 106/137] Updates --- shared/scripts/.gitignore | 1 + win/partials.psm1 | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 shared/scripts/.gitignore diff --git a/shared/scripts/.gitignore b/shared/scripts/.gitignore new file mode 100644 index 000000000..f7275bbbd --- /dev/null +++ b/shared/scripts/.gitignore @@ -0,0 +1 @@ +venv/ diff --git a/win/partials.psm1 b/win/partials.psm1 index 959b3fe81..5c724c642 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -249,6 +249,13 @@ function Build-Gdal { $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" # disabling KEA driver as it causes build issues on Windows # https://github.com/OSGeo/gdal/blob/3b232ee17d8f3d93bf3535b77fbb436cb9a9c2e0/.github/workflows/windows_build.yml#L178 + + # for the same reason, we are disabling OpenEXR + # -DOpenEXR_LIBRARY="$env:VCPKG_INSTALLED\lib\OpenEXR-3_2.lib" ` + # -DOpenEXR_INCLUDE_DIR="$env:VCPKG_INSTALLED\include\OpenEXR" ` + # -DOpenEXR_UTIL_LIBRARY="$env:VCPKG_INSTALLED\lib\OpenEXRUtil-3_2.lib" ` + # -DOpenEXR_HALF_LIBRARY="$env:VCPKG_INSTALLED\lib\Imath-3_1.lib" ` + # -DOpenEXR_IEX_LIBRARY="$env:VCPKG_INSTALLED\lib\Iex-3_2.lib" ` cmake -G $env:VS_VERSION -A $env:CMAKE_ARCHITECTURE "$env:GDAL_SOURCE" ` $env:CMAKE_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -Wno-dev ` -DCMAKE_C_FLAGS="$env:ARCH_FLAGS" ` @@ -319,7 +326,9 @@ function Build-CsharpBindings { } function Write-GdalFormats { - Set-Location "$env:GDAL_INSTALL_DIR\share\csharp" + Set-Location "$env:GDAL_INSTALL_DIR\bin" + + $env:PATH = "$env:PATH;$env:GDAL_INSTALL_DIR\bin;$env:BUILD_ROOT\vcpkg\installed\x64-windows\bin;$env:SDK_PREFIX\bin" # write to file try { $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") From 953c7a059a2ad478391bcbd71dd5ba707633885c Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:40:30 +0300 Subject: [PATCH 107/137] Updates --- .github/workflows/main.yml | 2 +- win/partials.psm1 | 49 +++++++++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7e794c098..bbdca1ff2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -125,7 +125,7 @@ jobs: overwrite: true - name: Push packages - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + if: false #${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} \ No newline at end of file diff --git a/win/partials.psm1 b/win/partials.psm1 index 5c724c642..4d5e5a1fd 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -82,6 +82,9 @@ function Get-VcpkgInstallation { [bool] $bootstrapVcpkg = $true ) + if ($null -eq $env:VCPKG_DEFAULT_BINARY_CACHE) { + $env:VCPKG_DEFAULT_BINARY_CACHE = "$env:BUILD_ROOT\vcpkg-cache" + } New-FolderIfNotExists $env:VCPKG_DEFAULT_BINARY_CACHE Write-BuildStep "Checking for VCPKG installation" @@ -326,17 +329,45 @@ function Build-CsharpBindings { } function Write-GdalFormats { - Set-Location "$env:GDAL_INSTALL_DIR\bin" + Set-GdalVariables + + $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" + $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" + + $env:GDAL_DATA = "$env:GDAL_INSTALL_DIR\share\gdal" + $env:GDAL_DRIVER_PATH = "$env:GDAL_INSTALL_DIR\share\gdal" + $env:PROJ_LIB = "$env:PROJ_INSTALL_DIR\share\proj" - $env:PATH = "$env:PATH;$env:GDAL_INSTALL_DIR\bin;$env:BUILD_ROOT\vcpkg\installed\x64-windows\bin;$env:SDK_PREFIX\bin" - # write to file + $dllDirectories = @("$env:GDAL_INSTALL_DIR\bin", "$env:BUILD_ROOT\vcpkg\installed\x64-windows\bin", "$env:SDK_PREFIX\bin", "$env:PROJ_INSTALL_DIR\bin") + $originalPath = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Process) + $newPath = $originalPath + ";" + ($dllDirectories -join ";") + [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Process) + + + Set-Location "$env:GDAL_INSTALL_DIR\bin" try { - $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") + + $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") New-FolderIfNotExists $formats_path - exec { & .\gdal-config.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force } - exec { & .\gdalinfo.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force } - exec { & .\ogrinfo.exe --formats | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force } - } catch { - Write-Host "Failed to get GDAL formats" + + # Run the executable + #Start-Process "$env:GDAL_INSTALL_DIR\bin\gdal-config" --formats + (& .\gdalinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force + (& .\ogrinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force + + # on windows, gdal-config contains a line that causes issues when the shell is invoked + Set-ReplaceContentInFiles -Path "$env:GDAL_INSTALL_DIR\bin" ` + -FileFilter "gdal-config" ` + -What "CONFIG_DEP_LIBS" ` + -With "#CONFIG_DEP_LIBS" + + (& $env:GitBash -c "./gdal-config --formats") | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force + } + catch { + Write-BuildError "Failed to write GDAL formats" + Write-BuildError $_.Exception.Message } + + # Restore the original PATH + [System.Environment]::SetEnvironmentVariable("PATH", $originalPath, [System.EnvironmentVariableTarget]::Process) } \ No newline at end of file From 399cb4d00e113ca9a65e85d741e0fc123fa00af8 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:41:58 +0300 Subject: [PATCH 108/137] Updates --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bbdca1ff2..e314a6f26 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,13 +14,13 @@ env: jobs: LinuxBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/unix.yml@main + uses: MaxRev-Dev/gdal.netcore/.github/workflows/unix.yml WindowsBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/windows.yml@main + uses: MaxRev-Dev/gdal.netcore/.github/workflows/windows.yml MacOSBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/macos.yml@main + uses: MaxRev-Dev/gdal.netcore/.github/workflows/macos.yml TestNugetPackages: needs: [LinuxBuild, WindowsBuild, MacOSBuild] From f46931c6be1c09db5e48435cbdb66133b6b4a2bd Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:43:06 +0300 Subject: [PATCH 109/137] Updates --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e314a6f26..003208064 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,13 +14,13 @@ env: jobs: LinuxBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/unix.yml + uses: .github/workflows/unix.yml WindowsBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/windows.yml + uses: .github/workflows/windows.yml MacOSBuild: - uses: MaxRev-Dev/gdal.netcore/.github/workflows/macos.yml + uses: .github/workflows/macos.yml TestNugetPackages: needs: [LinuxBuild, WindowsBuild, MacOSBuild] From 6b10ed3ad5237c1f17daa448f39500ba35dd8ebe Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:47:28 +0300 Subject: [PATCH 110/137] Updates --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 003208064..fb2544a49 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,13 +14,13 @@ env: jobs: LinuxBuild: - uses: .github/workflows/unix.yml + uses: ./.github/workflows/unix.yml WindowsBuild: - uses: .github/workflows/windows.yml + uses: ./.github/workflows/windows.yml MacOSBuild: - uses: .github/workflows/macos.yml + uses: ./.github/workflows/macos.yml TestNugetPackages: needs: [LinuxBuild, WindowsBuild, MacOSBuild] From 5b8c8559d5ad23376e9f2fb57f3ed42253129f6a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:48:18 +0300 Subject: [PATCH 111/137] Updates --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb2544a49..daf1d3292 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,7 +65,7 @@ jobs: dotnet test --no-restore ${{ env.TEST_PROJECT }} PushPackages: - needs: TestPackages-Bundle + needs: TestNugetPackages runs-on: ubuntu-latest defaults: run: From 679eb2c2e3f8bb5180b76530e659d7e8d6c1285a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:50:04 +0300 Subject: [PATCH 112/137] Updates --- .github/workflows/macos.yml | 12 ++++++------ .github/workflows/unix.yml | 12 ++++++------ .github/workflows/windows.yml | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e13b3dbc5..4ddb84214 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -2,12 +2,12 @@ name: MacOS Build on: workflow_call: - push: - branches: - - main - pull_request: - branches: - - main + # push: + # branches: + # - main + # pull_request: + # branches: + # - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index d927e33c1..fc7236e1a 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -2,12 +2,12 @@ name: Linux Build on: workflow_call: - push: - branches: - - main - pull_request: - branches: - - main + # push: + # branches: + # - main + # pull_request: + # branches: + # - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b31289876..339f11896 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -2,12 +2,12 @@ name: Windows Build on: workflow_call: - push: - branches: - - main - pull_request: - branches: - - main + # push: + # branches: + # - main + # pull_request: + # branches: + # - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 6222725969f05ea6c4b3375a6089be0808ac3965 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:54:58 +0300 Subject: [PATCH 113/137] Updates --- .github/workflows/macos.yml | 4 ---- .github/workflows/unix.yml | 4 ---- .github/workflows/windows.yml | 4 ---- 3 files changed, 12 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 4ddb84214..6ec479e5e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -9,10 +9,6 @@ on: # branches: # - main -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet/ DOTNET_VERSION: '8.0.x' diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index fc7236e1a..c2328f93a 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -9,10 +9,6 @@ on: # branches: # - main -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - env: DOCKER_REGISTRY: ghcr.io/maxrev-dev DOTNET_VERSION: '8.0.x' diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 339f11896..738b06d82 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -9,10 +9,6 @@ on: # branches: # - main -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' From 46952e51b89c8790f8e97e45ee223c9e88c35519 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Tue, 11 Jun 2024 21:58:03 +0300 Subject: [PATCH 114/137] Updates --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index daf1d3292..89926c0d7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,12 +15,15 @@ env: jobs: LinuxBuild: uses: ./.github/workflows/unix.yml + secrets: inherit WindowsBuild: uses: ./.github/workflows/windows.yml + secrets: inherit MacOSBuild: uses: ./.github/workflows/macos.yml + secrets: inherit TestNugetPackages: needs: [LinuxBuild, WindowsBuild, MacOSBuild] From 16cbb58135f093e378d4a21d90eec7f17a1ad5ab Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 01:45:59 +0300 Subject: [PATCH 115/137] Update workflow --- .github/workflows/main.yml | 84 ++++++++++---------------------------- 1 file changed, 22 insertions(+), 62 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 89926c0d7..cf91ff0ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,16 +25,24 @@ jobs: uses: ./.github/workflows/macos.yml secrets: inherit - TestNugetPackages: + TestAndPushPackages: needs: [LinuxBuild, WindowsBuild, MacOSBuild] strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 + - name: NuGet - set credentials + uses: ./.github/actions/set-credentials + with: + api-key-github: ${{ secrets.API_KEY_GITHUB }} + api-key-nuget: ${{ secrets.API_KEY_NUGET }} + api-user-github: ${{ secrets.API_USER_GITHUB }} + api-user-nuget: ${{ secrets.API_USER_NUGET }} + - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3 with: @@ -50,13 +58,10 @@ jobs: pattern: metadata-* path: shared/bundle/targets - - name: NuGet - Update credentials - run: | - dotnet nuget update source github --store-password-in-clear-text -u ${{ secrets.API_USER_GITHUB }} -p ${{ secrets.API_KEY_GITHUB }} - dotnet nuget update source nuget.org --store-password-in-clear-text -u ${{ secrets.API_USER_NUGET }} -p ${{ secrets.API_KEY_NUGET }} - dotnet nuget remove source local || true - dotnet nuget remove source local.ci || true - dotnet nuget add source "${{ github.workspace}}/nuget/" --name local.ci --configfile ${{ github.workspace}}/nuget.config + - name: Build bundle + run: | + make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} + make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} - name: Run tests from nuget packages env: @@ -66,69 +71,24 @@ jobs: dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} dotnet test --no-restore ${{ env.TEST_PROJECT }} - - PushPackages: - needs: TestNugetPackages - runs-on: ubuntu-latest - defaults: - run: - working-directory: unix - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup .NET Core SDK - uses: actions/setup-dotnet@v3 - with: - dotnet-version: ${{ env.DOTNET_VERSION }} - - - name: Download artifact - packages - uses: actions/download-artifact@v4 - with: - pattern: | - packages-unix* - packages-win* - packages-osx* - merge-multiple: true - path: "${{ github.workspace}}/nuget/" - - - name: Download artifact - metadata - uses: actions/download-artifact@v4 - with: - pattern: metadata-* - merge-multiple: true - - - name: NuGet - set credentials - uses: ./.github/actions/set-credentials + + - name: Store packages as artifact + uses: actions/upload-artifact@v4 with: - api-key-github: ${{ secrets.API_KEY_GITHUB }} - api-key-nuget: ${{ secrets.API_KEY_NUGET }} - api-user-github: ${{ secrets.API_USER_GITHUB }} - api-user-nuget: ${{ secrets.API_USER_NUGET }} - - - name: Build bundle - run: | - make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} - make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + name: packages-final + path: nuget/*.nupkg + overwrite: true - name: Commit changes uses: EndBug/add-and-commit@v9 with: author_name: MaxRev-Dev author_email: cmthea32@gmail.com - message: 'List of drivers in current version' + message: 'List of drivers in current version [ci skip]' add: 'tests/gdal-formats/**' - - name: Store packages as artifact - uses: actions/upload-artifact@v4 - with: - name: packages-final - path: nuget/*.nupkg - overwrite: true - - name: Push packages if: false #${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ - BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} \ No newline at end of file + BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} From 667204a3843b2fddf47904809c595987295c590b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 01:46:54 +0300 Subject: [PATCH 116/137] Update workflow --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cf91ff0ec..662a9b58d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,8 +60,8 @@ jobs: - name: Build bundle run: | - make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} - make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + cd unix && make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} + cd unix && make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} - name: Run tests from nuget packages env: @@ -78,7 +78,7 @@ jobs: name: packages-final path: nuget/*.nupkg overwrite: true - + - name: Commit changes uses: EndBug/add-and-commit@v9 with: From 380de5423b08f0a9a8d712486a2ed4e30ab0693a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 04:35:42 +0300 Subject: [PATCH 117/137] Updates --- unix/generate-projects-makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/unix/generate-projects-makefile b/unix/generate-projects-makefile index ef63ff451..a23dbc577 100644 --- a/unix/generate-projects-makefile +++ b/unix/generate-projects-makefile @@ -72,6 +72,7 @@ generate-projects-win: generate-build-base generate-bundles-win @cat $(RUNTIME_PROJECT_WIN) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_WIN_FINAL) generate-final-bundle: + @mkdir -p $(dir $(RUNTIME_PROJECT_BUNDLE_FINAL)) @cat $(RUNTIME_PROJECT_BUNDLE) | envsubst $${ONSUBST} > $(RUNTIME_PROJECT_BUNDLE_FINAL) get-version: From 655f3fff340e3faffdfca07d8470bb7f5a83f381 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 04:53:02 +0300 Subject: [PATCH 118/137] Updates --- .github/workflows/macos.yml | 2 -- .github/workflows/unix.yml | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 6ec479e5e..dd152d1d5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -51,7 +51,6 @@ jobs: uses: actions/cache@v4 with: path: | - ${{ github.workspace }}/build-osx/ ${{ github.workspace }}/.dotnet/ ${{ github.workspace }}/vcpkg-archives/ key: ${{ runner.os }}-packages-${{ matrix.os }} @@ -76,7 +75,6 @@ jobs: - name: Fetch VCPKG packages run: | mkdir -p ${{ github.workspace }}/vcpkg-archives/ - make -f vcpkg-makefile BUILD_ARCH=${{ matrix.arch }} build_cleanup make -f vcpkg-makefile BUILD_ARCH=${{ matrix.arch }} - name: Compile HDF diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index c2328f93a..89869d2f7 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -60,9 +60,7 @@ jobs: ${{ github.workspace }}/.dotnet ${{ github.workspace }}/ci/cache/ key: ${{ runner.os }}-buildx-${{ matrix.os }} - restore-keys: | - ${{ runner.os }}-buildx- - + - name: Log in to the Container registry uses: docker/login-action@v3 with: From c72087813c1238c5284fd7193629a223ba2bd163 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 05:05:33 +0300 Subject: [PATCH 119/137] Updates --- .github/workflows/macos.yml | 2 +- .github/workflows/unix.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dd152d1d5..bc1ffe856 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -53,7 +53,7 @@ jobs: path: | ${{ github.workspace }}/.dotnet/ ${{ github.workspace }}/vcpkg-archives/ - key: ${{ runner.os }}-packages-${{ matrix.os }} + key: ${{ matrix.os }}-packages-${{ matrix.arch }} - name: Set up Homebrew id: set-up-homebrew diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 89869d2f7..d2c8f6df8 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -59,8 +59,8 @@ jobs: path: | ${{ github.workspace }}/.dotnet ${{ github.workspace }}/ci/cache/ - key: ${{ runner.os }}-buildx-${{ matrix.os }} - + key: ${{ matrix.os }}-buildx-${{ matrix.arch }} + - name: Log in to the Container registry uses: docker/login-action@v3 with: From d7f823bf20bbc69e8b03f39fa834d6361a8a0e3b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 14:39:00 +0300 Subject: [PATCH 120/137] Updates --- shared/scripts/combine-formats.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shared/scripts/combine-formats.py b/shared/scripts/combine-formats.py index 92e83280c..f7f2f5f81 100644 --- a/shared/scripts/combine-formats.py +++ b/shared/scripts/combine-formats.py @@ -4,7 +4,6 @@ import regex as re import sys - def parse_file(file_path): drivers = {} with open(file_path, "r") as file: From cca4bd59f5e9810d61280b7630fd1f7dc82e9bcf Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 21:33:38 +0300 Subject: [PATCH 121/137] Updates --- .github/workflows/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 662a9b58d..9c40f69ce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,9 @@ jobs: strategy: matrix: os: [ubuntu-latest] + defaults: + run: + working-directory: unix runs-on: ${{ matrix.os }} steps: @@ -60,8 +63,8 @@ jobs: - name: Build bundle run: | - cd unix && make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} - cd unix && make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} + make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} - name: Run tests from nuget packages env: From b2adc8d7d697980777f074bbe927fe65e4b53082 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Wed, 12 Jun 2024 23:30:55 +0300 Subject: [PATCH 122/137] Updates --- .github/workflows/main.yml | 2 +- unix/publish-makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9c40f69ce..2632240d3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -70,7 +70,7 @@ jobs: env: TEST_PROJECT: tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj run: | - dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci + dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci --no-restore dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} dotnet test --no-restore ${{ env.TEST_PROJECT }} diff --git a/unix/publish-makefile b/unix/publish-makefile index 5b76a80d9..edfeddd4d 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -24,7 +24,7 @@ generate-projects: update-targets-no-ver: cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal$(BUILD_ARCH_SUFFIX) -s $(NUGET_) + dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.$(RUNTIME_PACKAGE_PARTIAL).Minimal$(BUILD_ARCH_SUFFIX) -s $(NUGET_) --no-restore update-targets: @@ -55,7 +55,7 @@ pack-bundle-final: $(MAKE) -f $(THIS_FILE) update-targets-no-ver CAT_NAME=win BUILD_ARCH_SUFFIX= RUNTIME_PACKAGE_PARTIAL=WindowsRuntime cd $(PACKAGE_BUILD_ROOT) && \ - dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.Core -s $(NUGET_) + dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.Core -s $(NUGET_) --no-restore dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_FINAL) From cf82d5bb4c1a334a1175fb183f2e2db4b6ba0c79 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 00:42:04 +0300 Subject: [PATCH 123/137] Updates --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2632240d3..af2e352ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -68,7 +68,7 @@ jobs: - name: Run tests from nuget packages env: - TEST_PROJECT: tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj + TEST_PROJECT: ${{ github.workspace }}/tests/MaxRev.Gdal.Core.Tests.XUnit/MaxRev.Gdal.Core.Tests.XUnit.csproj run: | dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci --no-restore dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" From 217d60e11078f101757cf4ac4e83b6a0ce3575ed Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 02:20:44 +0300 Subject: [PATCH 124/137] Updates --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index af2e352ec..a908a23c9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,7 +88,7 @@ jobs: author_name: MaxRev-Dev author_email: cmthea32@gmail.com message: 'List of drivers in current version [ci skip]' - add: 'tests/gdal-formats/**' + add: '${{ github.workspace }}/tests/gdal-formats/**' - name: Push packages if: false #${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} From 3057da00eca305bf66795321799e6df9de8a37ff Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 03:33:57 +0300 Subject: [PATCH 125/137] Updates --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a908a23c9..83907c953 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,8 +58,8 @@ jobs: - uses: actions/download-artifact@v4 with: - pattern: metadata-* - path: shared/bundle/targets + pattern: formats-* + path: 'tests/gdal-formats' - name: Build bundle run: | From d20c285983cbb6aa39eda003ddbcb7da974661ac Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 04:47:01 +0300 Subject: [PATCH 126/137] Updates --- .github/workflows/main.yml | 5 +++- win/partials.psm1 | 56 ++++++++++++++++++++++++++------------ 2 files changed, 43 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 83907c953..c17a0f53e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,7 +37,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - + with: + repository: ${{ github.event.pull_request.head.repo.full_name }} + ref: ${{ github.event.pull_request.head.ref }} + - name: NuGet - set credentials uses: ./.github/actions/set-credentials with: diff --git a/win/partials.psm1 b/win/partials.psm1 index 4d5e5a1fd..1e7fe6041 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -22,7 +22,11 @@ function Set-GdalVariables { $env:SDK_PREFIX = "$env:BUILD_ROOT\sdk\$env:SDK" $env:GDAL_SOURCE = "$env:BUILD_ROOT\gdal-source" $env:GdalCmakeBuild = "$env:BUILD_ROOT\gdal-cmake-temp" - $env:VCPKG_INSTALLED_PKGCONFIG = "$env:BUILD_ROOT\vcpkg\installed\x64-windows\lib\pkgconfig" + $env:VCPKG_INSTALLED_PKGCONFIG = "$env:BUILD_ROOT\vcpkg\installed\x64-windows\lib\pkgconfig" + $env:SDK_LIB = "$env:SDK_PREFIX\lib" + $env:SDK_BIN = "$env:SDK_PREFIX\bin" + $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" + } @@ -192,11 +196,8 @@ function Build-Gdal { [bool] $cleanGdalIntermediate = $true, [bool] $fetchGdal = $true ) - - $env:SDK_LIB = "$env:SDK_PREFIX\lib" - $env:SDK_BIN = "$env:SDK_PREFIX\bin" - $env:PATH = "$env:BUILD_ROOT\proj-build\bin;$env:SDK_BIN;$env:PATH" - $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" + Set-GdalVariables + $env:PATH = "$env:BUILD_ROOT\proj-build\bin;$env:SDK_BIN;$env:PATH" $env:CMAKE_INSTALL_PREFIX = "-DCMAKE_INSTALL_PREFIX=$env:GDAL_INSTALL_DIR" $env:PROJ_ROOT = "-DPROJ_ROOT=$env:PROJ_INSTALL_DIR" $env:MYSQL_LIBRARY = "-DMYSQL_LIBRARY=$env:SDK_LIB\libmysql.lib" @@ -343,31 +344,52 @@ function Write-GdalFormats { $newPath = $originalPath + ";" + ($dllDirectories -join ";") [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Process) - Set-Location "$env:GDAL_INSTALL_DIR\bin" try { - + $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") New-FolderIfNotExists $formats_path - + # Run the executable - #Start-Process "$env:GDAL_INSTALL_DIR\bin\gdal-config" --formats (& .\gdalinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force (& .\ogrinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force - # on windows, gdal-config contains a line that causes issues when the shell is invoked - Set-ReplaceContentInFiles -Path "$env:GDAL_INSTALL_DIR\bin" ` - -FileFilter "gdal-config" ` - -What "CONFIG_DEP_LIBS" ` - -With "#CONFIG_DEP_LIBS" - + # Fix windows style paths in gdal-config + Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" + (& $env:GitBash -c "./gdal-config --formats") | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force } catch { Write-BuildError "Failed to write GDAL formats" Write-BuildError $_.Exception.Message } - + # Restore the original PATH [System.Environment]::SetEnvironmentVariable("PATH", $originalPath, [System.EnvironmentVariableTarget]::Process) +} + +function Write-FixShellScriptOnWindows { + param ( + [string] $shellScriptPath, + [string] $variableName + ) + $shellScriptContent = Get-Content -Path $shellScriptPath -Raw + $pattern = [regex]::Escape($variableName) + '="([^""].*)"' + if ($shellScriptContent -match $pattern) { + $value = $matches[1] + $paths = $value -split ' (?=(?:[^"]*"[^"]*")*[^"]*$)' + $escapedPaths = $paths | ForEach-Object { + $_.Replace(" ", "\\ ").Replace("(", "\(").Replace(")", "\)").Replace('"', '\"'); + } + $escapedValue = ($escapedPaths -join ' ') + $newLine = "$variableName=""$escapedValue""" + $shellScriptContent = $shellScriptContent -replace "$variableName=""[^""].*""", $newLine + Set-Content -Path $shellScriptPath -Value $shellScriptContent + + Write-Output "Shell script has been updated successfully." + + } + else { + Write-Output "Variable $variableName not found in the script." + } } \ No newline at end of file From 9755eb65279013d6c28a0efa780a27fbf9f2dc22 Mon Sep 17 00:00:00 2001 From: MaxRev-Dev Date: Thu, 13 Jun 2024 03:09:03 +0000 Subject: [PATCH 127/137] List of drivers in current version [ci skip] --- .../gdal-formats-osx-raster.txt | 152 ++++++++++++++++++ .../gdal-formats-osx-vector.txt | 82 ++++++++++ .../formats-osx-arm64/gdal-formats-osx.txt | 1 + .../gdal-formats-osx-raster.txt | 152 ++++++++++++++++++ .../gdal-formats-osx-vector.txt | 82 ++++++++++ .../formats-osx-x64/gdal-formats-osx.txt | 1 + .../gdal-formats/gdal-formats-unix-raster.txt | 152 ++++++++++++++++++ .../gdal-formats/gdal-formats-unix-vector.txt | 82 ++++++++++ .../gdal-formats/gdal-formats-unix.txt | 1 + .../gdal-formats/gdal-formats-unix-raster.txt | 152 ++++++++++++++++++ .../gdal-formats/gdal-formats-unix-vector.txt | 82 ++++++++++ .../gdal-formats/gdal-formats-unix.txt | 1 + .../formats-win/gdal-formats-win.txt | 1 + 13 files changed, 941 insertions(+) create mode 100644 tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-raster.txt create mode 100644 tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-vector.txt create mode 100644 tests/gdal-formats/formats-osx-arm64/gdal-formats-osx.txt create mode 100644 tests/gdal-formats/formats-osx-x64/gdal-formats-osx-raster.txt create mode 100644 tests/gdal-formats/formats-osx-x64/gdal-formats-osx-vector.txt create mode 100644 tests/gdal-formats/formats-osx-x64/gdal-formats-osx.txt create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt create mode 100644 tests/gdal-formats/formats-win/gdal-formats-win.txt diff --git a/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-raster.txt b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-vector.txt b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx.txt b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-osx-arm64/gdal-formats-osx.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-raster.txt b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-vector.txt b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-osx-x64/gdal-formats-osx.txt b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-osx-x64/gdal-formats-osx.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-win/gdal-formats-win.txt b/tests/gdal-formats/formats-win/gdal-formats-win.txt new file mode 100644 index 000000000..3faa70225 --- /dev/null +++ b/tests/gdal-formats/formats-win/gdal-formats-win.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG From 983ae52cafb7a8a7b831db9e3db4503d885e8df1 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 19:01:27 +0300 Subject: [PATCH 128/137] Updates --- .github/workflows/main.yml | 14 ++++++++++---- ci/extract-container-artifacts.sh | 2 +- shared/scripts/combine-formats.py | 26 ++++++++++++++------------ win/partials.psm1 | 28 ++++++++++++++-------------- 4 files changed, 39 insertions(+), 31 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c17a0f53e..24316262f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ jobs: with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.ref }} - + - name: NuGet - set credentials uses: ./.github/actions/set-credentials with: @@ -85,16 +85,22 @@ jobs: path: nuget/*.nupkg overwrite: true + - name: Process gdal formats + working-directory: shared/scripts + run: | + pipx install -r requirements.txt + python ./combine-formats.py '${{ github.workspace }}/tests/gdal-formats' + - name: Commit changes uses: EndBug/add-and-commit@v9 with: - author_name: MaxRev-Dev - author_email: cmthea32@gmail.com + author_name: ${{ secrets.COMMIT_AUTHOR }} + author_email: ${{ secrets.COMMIT_EMAIL }} message: 'List of drivers in current version [ci skip]' add: '${{ github.workspace }}/tests/gdal-formats/**' - name: Push packages - if: false #${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} diff --git a/ci/extract-container-artifacts.sh b/ci/extract-container-artifacts.sh index 2a713591c..b093b50c0 100755 --- a/ci/extract-container-artifacts.sh +++ b/ci/extract-container-artifacts.sh @@ -30,7 +30,7 @@ docker cp $containerName:/build/shared/bundle/targets "$outputDir/shared/bundle/ # extract gdal formats mkdir -p "$outputDir/tests/gdal-formats" -docker cp $containerName:/build/tests/gdal-formats/ "$outputDir/tests/gdal-formats/" +docker cp $containerName:/build/tests/gdal-formats/ "$outputDir/tests/" mkdir -p "$outputDir/package-build" docker cp $containerName:/build/package-build/ "$outputDir/" diff --git a/shared/scripts/combine-formats.py b/shared/scripts/combine-formats.py index f7f2f5f81..4b9dfffc0 100644 --- a/shared/scripts/combine-formats.py +++ b/shared/scripts/combine-formats.py @@ -4,6 +4,7 @@ import regex as re import sys + def parse_file(file_path): drivers = {} with open(file_path, "r") as file: @@ -23,18 +24,19 @@ def main(directory): data = {} all_drivers = set() - for file_name in os.listdir(directory): - if file_name.startswith("gdal-") and file_name.endswith(".txt"): - parts = file_name.split("-") - if len(parts) < 4: - continue - os_tag = parts[2] - type_tag = parts[3].split(".")[0] - key = f"{os_tag} ({type_tag})" - file_path = os.path.join(directory, file_name) - drivers = parse_file(file_path) - data[key] = drivers - all_drivers.update(drivers.keys()) + for root, _, files in os.walk(directory): + for file_name in files: + if file_name.startswith("gdal-") and file_name.endswith(".txt"): + parts = file_name.split("-") + if len(parts) < 4: + continue + os_tag = parts[2] + type_tag = parts[3].split(".")[0] + key = f"{os_tag} ({type_tag})" + file_path = os.path.join(root, file_name) + drivers = parse_file(file_path) + data[key] = drivers + all_drivers.update(drivers.keys()) # Sort columns by type (raster, vector) sorted_keys = sorted(data.keys(), key=lambda x: ("vector" in x, x)) diff --git a/win/partials.psm1 b/win/partials.psm1 index 1e7fe6041..27bd9af4d 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -26,8 +26,7 @@ function Set-GdalVariables { $env:SDK_LIB = "$env:SDK_PREFIX\lib" $env:SDK_BIN = "$env:SDK_PREFIX\bin" $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" - - + $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" } function Get-7ZipInstallation { @@ -331,36 +330,33 @@ function Build-CsharpBindings { function Write-GdalFormats { Set-GdalVariables - - $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" - $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" - $env:GDAL_DATA = "$env:GDAL_INSTALL_DIR\share\gdal" $env:GDAL_DRIVER_PATH = "$env:GDAL_INSTALL_DIR\share\gdal" $env:PROJ_LIB = "$env:PROJ_INSTALL_DIR\share\proj" - $dllDirectories = @("$env:GDAL_INSTALL_DIR\bin", "$env:BUILD_ROOT\vcpkg\installed\x64-windows\bin", "$env:SDK_PREFIX\bin", "$env:PROJ_INSTALL_DIR\bin") + $dllDirectories = @("$env:GDAL_INSTALL_DIR\bin", "$env:VCPKG_INSTALLED\bin", "$env:SDK_PREFIX\bin", "$env:PROJ_INSTALL_DIR\bin") $originalPath = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Process) $newPath = $originalPath + ";" + ($dllDirectories -join ";") [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Process) + $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") + New-FolderIfNotExists $formats_path + Set-Location "$env:GDAL_INSTALL_DIR\bin" try { - - $formats_path = (Get-ForceResolvePath "$PSScriptRoot\..\tests\gdal-formats") - New-FolderIfNotExists $formats_path - # Run the executable + Write-BuildInfo "GDAL Formats:" + (& .\gdalinfo.exe --formats) (& .\gdalinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force + Write-BuildInfo "OGR Formats:" + (& .\ogrinfo.exe --formats) (& .\ogrinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force # Fix windows style paths in gdal-config Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" - + (& $env:GitBash -c "./gdal-config --formats") | Set-Content -Path "$formats_path\gdal-formats-win.txt" -Force } - catch { - Write-BuildError "Failed to write GDAL formats" + catch { + Write-BuildError "Failed to write GDAL formats" Write-BuildError $_.Exception.Message } @@ -377,6 +373,10 @@ function Write-FixShellScriptOnWindows { $pattern = [regex]::Escape($variableName) + '="([^""].*)"' if ($shellScriptContent -match $pattern) { $value = $matches[1] + if ($value.Contains("\(") -or $value.Contains('\"')) { + Write-Output "Variable $variableName already fixed in the script." + return + } $paths = $value -split ' (?=(?:[^"]*"[^"]*")*[^"]*$)' $escapedPaths = $paths | ForEach-Object { $_.Replace(" ", "\\ ").Replace("(", "\(").Replace(")", "\)").Replace('"', '\"'); From c459afa7eee3babb7c017ed80d68ce0e3b475c2a Mon Sep 17 00:00:00 2001 From: MaxRev Date: Thu, 13 Jun 2024 21:36:49 +0300 Subject: [PATCH 129/137] Updates --- .github/workflows/macos.yml | 2 +- .github/workflows/main.yml | 3 ++- .github/workflows/unix.yml | 2 +- .github/workflows/windows.yml | 2 +- win/partials.psm1 | 6 ++---- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index bc1ffe856..3ec15fbad 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -111,7 +111,7 @@ jobs: with: name: formats-osx-${{ matrix.arch }} path: | - tests/gdal-formats/ + tests/gdal-formats/*.txt overwrite: true - name: Store packages as artifact diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 24316262f..570092417 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,7 +88,8 @@ jobs: - name: Process gdal formats working-directory: shared/scripts run: | - pipx install -r requirements.txt + python -m venv venv && source venv/bin/activate + pip install -r requirements.txt python ./combine-formats.py '${{ github.workspace }}/tests/gdal-formats' - name: Commit changes diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index d2c8f6df8..720f465bb 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -130,7 +130,7 @@ jobs: with: name: formats-unix-${{ matrix.arch }} path: | - tests/gdal-formats/ + tests/gdal-formats/*.txt overwrite: true - name: Store packages as artifact diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 738b06d82..09ceee1a1 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -73,7 +73,7 @@ jobs: with: name: formats-win path: | - tests/gdal-formats/ + tests/gdal-formats/*.txt overwrite: true - name: Store packages as artifact diff --git a/win/partials.psm1 b/win/partials.psm1 index 27bd9af4d..e4628855b 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -345,10 +345,8 @@ function Write-GdalFormats { Set-Location "$env:GDAL_INSTALL_DIR\bin" try { # Run the executable - Write-BuildInfo "GDAL Formats:" + (& .\gdalinfo.exe --formats) - (& .\gdalinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-raster.txt" -Force - Write-BuildInfo "OGR Formats:" + (& .\ogrinfo.exe --formats) - (& .\ogrinfo.exe --formats) | Set-Content -Path "$formats_path\gdal-formats-win-vector.txt" -Force + (Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe --formats) + (Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe --formats) # Fix windows style paths in gdal-config Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" From b804c5b717b39da54b0993ecdcd3601a852d7c67 Mon Sep 17 00:00:00 2001 From: MaxRev-Dev Date: Thu, 13 Jun 2024 19:49:09 +0000 Subject: [PATCH 130/137] List of drivers in current version [ci skip] --- .../gdal-formats-unix-raster.txt | 152 ++++++++++++ .../gdal-formats-unix-vector.txt | 82 +++++++ .../formats-unix-arm64/gdal-formats-unix.txt | 1 + .../gdal-formats-unix-raster.txt | 152 ++++++++++++ .../gdal-formats-unix-vector.txt | 82 +++++++ .../formats-unix-x64/gdal-formats-unix.txt | 1 + .../formats-win/gdal-formats-win-raster.txt | 0 .../formats-win/gdal-formats-win-vector.txt | 0 tests/gdal-formats/supported_drivers.md | 232 ++++++++++++++++++ 9 files changed, 702 insertions(+) create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-raster.txt create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-vector.txt create mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats-unix.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats-unix-raster.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats-unix-vector.txt create mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats-unix.txt create mode 100644 tests/gdal-formats/formats-win/gdal-formats-win-raster.txt create mode 100644 tests/gdal-formats/formats-win/gdal-formats-win-vector.txt create mode 100644 tests/gdal-formats/supported_drivers.md diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-unix-arm64/gdal-formats-unix.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-raster.txt new file mode 100644 index 000000000..b8c6367d2 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-raster.txt @@ -0,0 +1,152 @@ +Supported Formats: + VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) + GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) + DERIVED -raster- (ro): Derived datasets using VRT pixel functions + GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) + COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) + NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) + RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) + ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) + HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) + SAR_CEOS -raster- (rov): CEOS SAR Image + CEOS -raster- (rov): CEOS Image + JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) + GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) + ELAS -raster- (rw+v): ELAS + ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) + AIG -raster- (rov): Arc/Info Binary Grid + AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) + GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid + ISG -raster- (rov): International Service for the Geoid (*.isg) + SDTS -raster- (rov): SDTS Raster (*.ddf) + DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) + PNG -raster- (rwv): Portable Network Graphics (*.png) + JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) + MEM -raster,multidimensional raster- (rw+): In Memory Raster + JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) + GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) + BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) + ESAT -raster- (rov): Envisat Image Format (*.n1) + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) + XPM -raster- (rwv): X11 PixMap Format (*.xpm) + BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) + DIMAP -raster- (rovs): SPOT DIMAP + AirSAR -raster- (rov): AirSAR Polarimetric Image + RS2 -raster- (rovs): RadarSat 2 XML Product + SAFE -raster- (rov): Sentinel-1 SAR SAFE Product + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + PCRaster -raster- (rw+): PCRaster Raster File (*.map) + ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) + SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) + SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) + Leveller -raster- (rw+v): Leveller heightfield (*.ter) + Terragen -raster- (rw+v): Terragen heightfield (*.ter) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) + HDF4Image -raster- (rw+): HDF4 Dataset + ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) + ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) + PDS -raster- (rov): NASA Planetary Data System + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + TIL -raster- (rov): EarthWatch .TIL + ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set + FIT -raster- (rwv): FIT Image + GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) + RMF -raster- (rw+v): Raster Matrix Format (*.rsw) + WCS -raster- (rovs): OGC Web Coverage Service + WMS -raster- (rwvs): OGC Web Map Service + MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) + RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) + GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) + GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) + GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) + COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) + TSX -raster- (rov): TerraSAR-X Product + COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) + R -raster- (rwv): R Object Data Store (*.rda) + MAP -raster- (rov): OziExplorer .MAP + KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) + WEBP -raster- (rwv): WEBP (*.webp) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + PLMOSAIC -raster- (ro): Planet Labs Mosaics API + CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) + WMTS -raster- (rwv): OGC Web Map Tile Service + SENTINEL2 -raster- (rovs): Sentinel 2 + MRF -raster- (rw+v): Meta Raster Format (*.mrf) + PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) + DOQ1 -raster- (rov): USGS DOQ (Old Style) + DOQ2 -raster- (rov): USGS DOQ (New Style) + PAux -raster- (rw+v): PCI .aux Labelled + MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) + MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster + GSC -raster- (rov): GSC Geogrid + FAST -raster- (rov): EOSAT FAST Format + BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) + LAN -raster- (rw+v): Erdas .LAN/.GIS + CPG -raster- (rov): Convair PolGASP + NDF -raster- (rov): NLAPS Data Format + EIR -raster- (rov): Erdas Imagine Raw + DIPEx -raster- (rov): DIPEx + LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) + GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) + LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift + NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) + CTable2 -raster- (rw+v): CTable2 Datum Grid Shift + ACE2 -raster- (rov): ACE2 (*.ACE2) + SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) + KRO -raster- (rw+v): KOLOR Raw (*.kro) + ROI_PAC -raster- (rw+v): ROI_PAC raster + RRASTER -raster- (rw+v): R Raster (*.grd) + BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) + NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) + NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) + RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) + USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) + GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) + S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) + S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) + HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) + HDF5Image -raster- (rov): HDF5 Dataset + NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) + NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) + ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) + SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) + BLX -raster- (rwv): Magellan topo (.blx) (*.blx) + PostGISRaster -raster- (rws): PostGIS Raster driver + SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) + XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) + HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) + OZI -raster- (rov): OziExplorer Image File + CTG -raster- (rov): USGS LULC Composite Theme Grid + ZMap -raster- (rwv): ZMap Plus Grid (*.dat) + NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) + IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) + PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) + EEDAI -raster- (ros): Earth Engine Data API Image + DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver + SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) + EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) + TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) + OGCAPI -raster,vector- (rov): OGCAPI + STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) + STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items + JPEGXL -raster- (rwv): JPEG-XL (*.jxl) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + NGW -raster,vector- (rw+s): NextGIS Web + GenBin -raster- (rov): Generic Binary (.hdr Labelled) + ENVI -raster- (rw+v): ENVI .hdr Labelled + EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) + ISCE -raster- (rw+v): ISCE raster + Zarr -raster,multidimensional raster- (rw+vs): Zarr + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-vector.txt new file mode 100644 index 000000000..67c373150 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix-vector.txt @@ -0,0 +1,82 @@ +Supported Formats: + FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) + PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) + netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) + PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) + VICAR -raster,vector- (rw+v): MIPL VICAR file + JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) + PDF -raster,vector- (w+): Geospatial PDF (*.pdf) + MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) + BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) + EEDA -vector- (ro): Earth Engine Data API + OGCAPI -raster,vector- (rov): OGCAPI + ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) + MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) + UK .NTF -vector- (rov): UK .NTF + LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) + OGR_SDTS -vector- (rov): SDTS + S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) + DGN -vector- (rw+v): Microstation DGN (*.dgn) + OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) + Memory -vector- (rw+): Memory + CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) + NAS -vector- (rov): NAS - ALKIS (*.xml) + GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) + GPX -vector- (rw+v): GPX (*.gpx) + LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) + KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) + GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) + GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) + ESRIJSON -vector- (rov): ESRIJSON (*.json) + TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) + Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) + Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) + OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) + GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) + SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) + ODBC -vector- (ro): (*.mdb, *.accdb) + WAsP -vector- (rw+v): WAsP .map format (*.map) + PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) + MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database + PostgreSQL -vector- (rw+): PostgreSQL/PostGIS + MySQL -vector- (rw+): MySQL + OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) + DXF -vector- (rw+v): AutoCAD DXF (*.dxf) + CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) + FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) + Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) + GeoRSS -vector- (rw+v): GeoRSS + VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) + PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) + OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) + GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) + OGR_PDS -vector- (rov): Planetary Data Systems TABLE + WFS -vector- (rov): OGC WFS (Web Feature Service) + OAPIF -vector- (ro): OGC API - Features + EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) + SVG -vector- (rov): Scalable Vector Graphics (*.svg) + Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) + XLS -vector- (ro): MS Excel format (*.xls) + ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) + XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) + Elasticsearch -vector- (rw+): Elastic Search + Carto -vector- (rw+): Carto + AmigoCloud -vector- (rw+): AmigoCloud + SXF -vector- (rov): Storage and eXchange Format (*.sxf) + Selafin -vector- (rw+v): Selafin + JML -vector- (rw+v): OpenJUMP JML (*.jml) + PLSCENES -raster,vector- (ro): Planet Labs Scenes API + CSW -vector- (ro): OGC CSW (Catalog Service for the Web) + VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) + GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) + MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) + NGW -raster,vector- (rw+s): NextGIS Web + MapML -vector- (rw+v): MapML + GTFS -vector- (rov): General Transit Feed Specification (*.zip) + PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) + JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) + MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) + TIGER -vector- (rov): U.S. Census TIGER/Line + AVCBin -vector- (rov): Arc/Info Binary Coverage + AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) + HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix.txt new file mode 100644 index 000000000..255486c50 --- /dev/null +++ b/tests/gdal-formats/formats-unix-x64/gdal-formats-unix.txt @@ -0,0 +1 @@ +JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-win/gdal-formats-win-raster.txt b/tests/gdal-formats/formats-win/gdal-formats-win-raster.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/gdal-formats/formats-win/gdal-formats-win-vector.txt b/tests/gdal-formats/formats-win/gdal-formats-win-vector.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/gdal-formats/supported_drivers.md b/tests/gdal-formats/supported_drivers.md new file mode 100644 index 000000000..b766d59f0 --- /dev/null +++ b/tests/gdal-formats/supported_drivers.md @@ -0,0 +1,232 @@ +# Supported GDAL Drivers +| | osx (raster) | unix (raster) | win (raster) | osx (vector) | unix (vector) | win (vector) | +|:----------------|:---------------|:----------------|:---------------|:---------------|:----------------|:---------------| +| AAIGrid | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| ACE2 | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ADRG | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| AIG | rov | rov | ✗ | ✗ | ✗ | ✗ | +| AVCBin | ✗ | ✗ | ✗ | rov | rov | ✗ | +| AVCE00 | ✗ | ✗ | ✗ | rov | rov | ✗ | +| AirSAR | rov | rov | ✗ | ✗ | ✗ | ✗ | +| AmigoCloud | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| BAG | rw+v | rw+v | ✗ | rw+v | rw+v | ✗ | +| BIGGIF | rov | rov | ✗ | ✗ | ✗ | ✗ | +| BLX | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| BMP | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| BSB | rov | rov | ✗ | ✗ | ✗ | ✗ | +| BT | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| BYN | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| CAD | rovs | rovs | ✗ | rovs | rovs | ✗ | +| CALS | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| CEOS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| COASP | ro | ro | ✗ | ✗ | ✗ | ✗ | +| COG | wv | wv | ✗ | ✗ | ✗ | ✗ | +| COSAR | rov | rov | ✗ | ✗ | ✗ | ✗ | +| CPG | rov | rov | ✗ | ✗ | ✗ | ✗ | +| CSV | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| CSW | ✗ | ✗ | ✗ | ro | ro | ✗ | +| CTG | rov | rov | ✗ | ✗ | ✗ | ✗ | +| CTable2 | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| Carto | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| DAAS | ro | ro | ✗ | ✗ | ✗ | ✗ | +| DERIVED | ro | ro | ✗ | ✗ | ✗ | ✗ | +| DGN | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| DIMAP | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| DIPEx | rov | rov | ✗ | ✗ | ✗ | ✗ | +| DOQ1 | rov | rov | ✗ | ✗ | ✗ | ✗ | +| DOQ2 | rov | rov | ✗ | ✗ | ✗ | ✗ | +| DTED | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| DXF | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| ECRGTOC | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| EDIGEO | ✗ | ✗ | ✗ | rov | rov | ✗ | +| EEDA | ✗ | ✗ | ✗ | ro | ro | ✗ | +| EEDAI | ros | ros | ✗ | ✗ | ✗ | ✗ | +| EHdr | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| EIR | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ELAS | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ENVI | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ERS | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ESAT | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ESRIC | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ESRIJSON | ✗ | ✗ | ✗ | rov | rov | ✗ | +| EXR | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| Elasticsearch | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| FAST | rov | rov | ✗ | ✗ | ✗ | ✗ | +| FIT | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| FITS | rw+ | rw+ | ✗ | rw+ | rw+ | ✗ | +| FlatGeobuf | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| GFF | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GIF | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| GML | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| GMLAS | ✗ | ✗ | ✗ | rwv | rwv | ✗ | +| GPKG | rw+vs | rw+vs | ✗ | rw+vs | rw+vs | ✗ | +| GPSBabel | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| GPX | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| GRASSASCIIGrid | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GRIB | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| GS7BG | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| GSAG | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| GSBG | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| GSC | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GTFS | ✗ | ✗ | ✗ | rov | rov | ✗ | +| GTI | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GTX | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| GTiff | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| GXF | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GenBin | rov | rov | ✗ | ✗ | ✗ | ✗ | +| GeoJSON | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| GeoJSONSeq | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| GeoRSS | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| Geoconcept | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| HDF4 | ros | ros | ✗ | ✗ | ✗ | ✗ | +| HDF4Image | rw+ | rw+ | ✗ | ✗ | ✗ | ✗ | +| HDF5 | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| HDF5Image | rov | rov | ✗ | ✗ | ✗ | ✗ | +| HF2 | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| HFA | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| HTTP | ro | ro | ✗ | ro | ro | ✗ | +| ILWIS | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| IRIS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ISCE | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ISG | rov | rov | ✗ | ✗ | ✗ | ✗ | +| ISIS2 | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ISIS3 | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| Idrisi | ✗ | ✗ | ✗ | rov | rov | ✗ | +| JAXAPALSAR | rov | rov | ✗ | ✗ | ✗ | ✗ | +| JDEM | rov | rov | ✗ | ✗ | ✗ | ✗ | +| JML | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| JP2OpenJPEG | rwv | rwv | ✗ | rwv | rwv | ✗ | +| JPEG | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| JPEGXL | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| JSONFG | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| KML | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| KMLSUPEROVERLAY | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| KRO | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| L1B | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| LAN | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| LCP | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| LIBKML | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| LOSLAS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| LVBAG | ✗ | ✗ | ✗ | rov | rov | ✗ | +| Leveller | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| MAP | rov | rov | ✗ | ✗ | ✗ | ✗ | +| MBTiles | rw+v | rw+v | ✗ | rw+v | rw+v | ✗ | +| MEM | rw+ | rw+ | ✗ | ✗ | ✗ | ✗ | +| MFF | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| MFF2 | rw+ | rw+ | ✗ | ✗ | ✗ | ✗ | +| MRF | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| MSGN | rov | rov | ✗ | ✗ | ✗ | ✗ | +| MSSQLSpatial | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| MVT | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| MapML | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| Memory | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| MiraMonVector | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| MySQL | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| NAS | ✗ | ✗ | ✗ | rov | rov | ✗ | +| NDF | rov | rov | ✗ | ✗ | ✗ | ✗ | +| NGSGEOID | rov | rov | ✗ | ✗ | ✗ | ✗ | +| NGW | rw+s | rw+s | ✗ | rw+s | rw+s | ✗ | +| NITF | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| NOAA_B | rov | rov | ✗ | ✗ | ✗ | ✗ | +| NSIDCbin | rov | rov | ✗ | ✗ | ✗ | ✗ | +| NTv2 | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| NWT_GRC | rov | rov | ✗ | ✗ | ✗ | ✗ | +| NWT_GRD | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| OAPIF | ✗ | ✗ | ✗ | ro | ro | ✗ | +| ODBC | ✗ | ✗ | ✗ | ro | ro | ✗ | +| ODS | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| OGCAPI | rov | rov | ✗ | rov | rov | ✗ | +| OGR_GMT | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| OGR_PDS | ✗ | ✗ | ✗ | rov | rov | ✗ | +| OGR_SDTS | ✗ | ✗ | ✗ | rov | rov | ✗ | +| OGR_VRT | ✗ | ✗ | ✗ | rov | rov | ✗ | +| OSM | ✗ | ✗ | ✗ | rov | rov | ✗ | +| OZI | rov | rov | ✗ | ✗ | ✗ | ✗ | +| OpenFileGDB | rw+v | rw+v | ✗ | rw+v | rw+v | ✗ | +| PAux | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| PCIDSK | rw+v | rw+v | ✗ | rw+v | rw+v | ✗ | +| PCRaster | rw+ | rw+ | ✗ | ✗ | ✗ | ✗ | +| PDF | w+ | w+ | ✗ | w+ | w+ | ✗ | +| PDS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| PDS4 | rw+vs | rw+vs | ✗ | rw+vs | rw+vs | ✗ | +| PGDUMP | ✗ | ✗ | ✗ | w+v | w+v | ✗ | +| PGeo | ✗ | ✗ | ✗ | ro | ro | ✗ | +| PLMOSAIC | ro | ro | ✗ | ✗ | ✗ | ✗ | +| PLSCENES | ro | ro | ✗ | ro | ro | ✗ | +| PMTiles | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| PNG | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| PNM | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| PRF | rov | rov | ✗ | ✗ | ✗ | ✗ | +| PostGISRaster | rws | rws | ✗ | ✗ | ✗ | ✗ | +| PostgreSQL | ✗ | ✗ | ✗ | rw+ | rw+ | ✗ | +| R | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| RIK | rov | rov | ✗ | ✗ | ✗ | ✗ | +| RMF | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| ROI_PAC | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| RPFTOC | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| RRASTER | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| RS2 | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| RST | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| Rasterlite | rwvs | rwvs | ✗ | ✗ | ✗ | ✗ | +| S102 | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| S104 | rov | rov | ✗ | ✗ | ✗ | ✗ | +| S111 | rov | rov | ✗ | ✗ | ✗ | ✗ | +| S57 | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| SAFE | rov | rov | ✗ | ✗ | ✗ | ✗ | +| SAGA | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| SAR_CEOS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| SDTS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| SENTINEL2 | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| SGI | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| SIGDEM | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| SNODAS | rov | rov | ✗ | ✗ | ✗ | ✗ | +| SQLite | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| SRP | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| SRTMHGT | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| STACIT | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| STACTA | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| SVG | ✗ | ✗ | ✗ | rov | rov | ✗ | +| SXF | ✗ | ✗ | ✗ | rov | rov | ✗ | +| Selafin | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| TGA | rov | rov | ✗ | ✗ | ✗ | ✗ | +| TIGER | ✗ | ✗ | ✗ | rov | rov | ✗ | +| TIL | rov | rov | ✗ | ✗ | ✗ | ✗ | +| TSX | rov | rov | ✗ | ✗ | ✗ | ✗ | +| Terragen | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| TopoJSON | ✗ | ✗ | ✗ | rov | rov | ✗ | +| USGSDEM | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| VDV | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| VFK | ✗ | ✗ | ✗ | ro | ro | ✗ | +| VICAR | rw+v | rw+v | ✗ | rw+v | rw+v | ✗ | +| VRT | rw+v | rw+v | ✗ | ✗ | ✗ | ✗ | +| WAsP | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| WCS | rovs | rovs | ✗ | ✗ | ✗ | ✗ | +| WEBP | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| WFS | ✗ | ✗ | ✗ | rov | rov | ✗ | +| WMS | rwvs | rwvs | ✗ | ✗ | ✗ | ✗ | +| WMTS | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| XLS | ✗ | ✗ | ✗ | ro | ro | ✗ | +| XLSX | ✗ | ✗ | ✗ | rw+v | rw+v | ✗ | +| XPM | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| XYZ | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| ZMap | rwv | rwv | ✗ | ✗ | ✗ | ✗ | +| Zarr | rw+vs | rw+vs | ✗ | ✗ | ✗ | ✗ | +| netCDF | rw+s | rw+s | ✗ | rw+s | rw+s | ✗ | + + +**Note:** + +- `r`: Read support +- `w`: Write support +- `+`: Update (read/write) support +- `v`: Supports virtual IO operations (like reading from `/vsimem`, `/vsicurl`, etc.) +- `s`: Supports subdatasets +- `o`: Optional features + +Combining these abbreviations, you get: + +- `ro`: Read-only support +- `rw`: Read and write support +- `rw+`: Read, write, and update support +- `rovs`: Read-only support with virtual IO and subdataset support +- `rw+v`: Read, write, update support with virtual IO From ae619b9f7e5e7fb6b121ff49bc266895b7cfcc38 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 00:44:47 +0300 Subject: [PATCH 131/137] Updates --- .github/workflows/main.yml | 8 +- .github/workflows/windows.yml | 4 +- .../gdal-formats/gdal-formats-unix-raster.txt | 152 ------------------ .../gdal-formats/gdal-formats-unix-vector.txt | 82 ---------- .../gdal-formats/gdal-formats-unix.txt | 1 - .../gdal-formats/gdal-formats-unix-raster.txt | 152 ------------------ .../gdal-formats/gdal-formats-unix-vector.txt | 82 ---------- .../gdal-formats/gdal-formats-unix.txt | 1 - unix/publish-makefile | 9 ++ win/partials.psm1 | 4 +- 10 files changed, 21 insertions(+), 474 deletions(-) delete mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt delete mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt delete mode 100644 tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt delete mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt delete mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt delete mode 100644 tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 570092417..d7536e37d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,6 +11,7 @@ concurrency: env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' + IS_RELEASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} jobs: LinuxBuild: @@ -68,6 +69,8 @@ jobs: run: | make -f generate-projects-makefile generate-final-bundle BUILD_NUMBER_TAIL=${{ github.run_number }} make -f publish-makefile pack-bundle-final PRERELEASE=${{ env.IS_PRE_RELEASE }} BUILD_NUMBER_TAIL=${{ github.run_number }} + echo "GDAL_VERSION=$(make -f publish-makefile get-gdal-version)" >> $GITHUB_ENV + echo "PACKAGES_VERSION=$(make -f publish-makefile get-package-version BUILD_NUMBER_TAIL=${{ github.run_number }})" >> $GITHUB_ENV - name: Run tests from nuget packages env: @@ -86,6 +89,7 @@ jobs: overwrite: true - name: Process gdal formats + if: ${{ env.IS_RELEASE }} working-directory: shared/scripts run: | python -m venv venv && source venv/bin/activate @@ -93,15 +97,17 @@ jobs: python ./combine-formats.py '${{ github.workspace }}/tests/gdal-formats' - name: Commit changes + if: ${{ env.IS_RELEASE }} uses: EndBug/add-and-commit@v9 with: author_name: ${{ secrets.COMMIT_AUTHOR }} author_email: ${{ secrets.COMMIT_EMAIL }} message: 'List of drivers in current version [ci skip]' add: '${{ github.workspace }}/tests/gdal-formats/**' + tag: 'v${{ env.PACKAGES_VERSION }} --force' - name: Push packages - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + if: ${{ env.IS_RELEASE }} run: | make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 09ceee1a1..bcc034544 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -65,7 +65,9 @@ jobs: uses: actions/upload-artifact@v4 with: name: metadata-win-x64 - path: shared/bundle/targets/ + path: | + shared/bundle/targets/ + build-win/gdal-build/bin/gdal-config overwrite: true - name: GDAL formats windows diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt deleted file mode 100644 index b8c6367d2..000000000 --- a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-raster.txt +++ /dev/null @@ -1,152 +0,0 @@ -Supported Formats: - VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) - GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) - DERIVED -raster- (ro): Derived datasets using VRT pixel functions - GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) - COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) - NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) - RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) - ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) - HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) - SAR_CEOS -raster- (rov): CEOS SAR Image - CEOS -raster- (rov): CEOS Image - JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) - GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) - ELAS -raster- (rw+v): ELAS - ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) - AIG -raster- (rov): Arc/Info Binary Grid - AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) - GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid - ISG -raster- (rov): International Service for the Geoid (*.isg) - SDTS -raster- (rov): SDTS Raster (*.ddf) - DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) - PNG -raster- (rwv): Portable Network Graphics (*.png) - JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) - MEM -raster,multidimensional raster- (rw+): In Memory Raster - JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) - GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) - BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) - ESAT -raster- (rov): Envisat Image Format (*.n1) - FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) - BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) - XPM -raster- (rwv): X11 PixMap Format (*.xpm) - BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) - DIMAP -raster- (rovs): SPOT DIMAP - AirSAR -raster- (rov): AirSAR Polarimetric Image - RS2 -raster- (rovs): RadarSat 2 XML Product - SAFE -raster- (rov): Sentinel-1 SAR SAFE Product - PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) - PCRaster -raster- (rw+): PCRaster Raster File (*.map) - ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) - SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) - SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) - Leveller -raster- (rw+v): Leveller heightfield (*.ter) - Terragen -raster- (rw+v): Terragen heightfield (*.ter) - netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) - HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) - HDF4Image -raster- (rw+): HDF4 Dataset - ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) - ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) - PDS -raster- (rov): NASA Planetary Data System - PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) - VICAR -raster,vector- (rw+v): MIPL VICAR file - TIL -raster- (rov): EarthWatch .TIL - ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) - JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) - L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set - FIT -raster- (rwv): FIT Image - GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) - RMF -raster- (rw+v): Raster Matrix Format (*.rsw) - WCS -raster- (rovs): OGC Web Coverage Service - WMS -raster- (rwvs): OGC Web Map Service - MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) - RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) - GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) - GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) - GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) - COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) - TSX -raster- (rov): TerraSAR-X Product - COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) - R -raster- (rwv): R Object Data Store (*.rda) - MAP -raster- (rov): OziExplorer .MAP - KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) - WEBP -raster- (rwv): WEBP (*.webp) - PDF -raster,vector- (w+): Geospatial PDF (*.pdf) - Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) - MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) - PLMOSAIC -raster- (ro): Planet Labs Mosaics API - CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) - WMTS -raster- (rwv): OGC Web Map Tile Service - SENTINEL2 -raster- (rovs): Sentinel 2 - MRF -raster- (rw+v): Meta Raster Format (*.mrf) - PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) - DOQ1 -raster- (rov): USGS DOQ (Old Style) - DOQ2 -raster- (rov): USGS DOQ (New Style) - PAux -raster- (rw+v): PCI .aux Labelled - MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) - MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster - GSC -raster- (rov): GSC Geogrid - FAST -raster- (rov): EOSAT FAST Format - BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) - LAN -raster- (rw+v): Erdas .LAN/.GIS - CPG -raster- (rov): Convair PolGASP - NDF -raster- (rov): NLAPS Data Format - EIR -raster- (rov): Erdas Imagine Raw - DIPEx -raster- (rov): DIPEx - LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) - GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) - LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift - NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) - CTable2 -raster- (rw+v): CTable2 Datum Grid Shift - ACE2 -raster- (rov): ACE2 (*.ACE2) - SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) - KRO -raster- (rw+v): KOLOR Raw (*.kro) - ROI_PAC -raster- (rw+v): ROI_PAC raster - RRASTER -raster- (rw+v): R Raster (*.grd) - BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) - NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) - NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) - RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) - USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) - GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) - BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) - S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) - S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) - S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) - HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) - HDF5Image -raster- (rov): HDF5 Dataset - NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) - NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) - ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) - SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) - BLX -raster- (rwv): Magellan topo (.blx) (*.blx) - PostGISRaster -raster- (rws): PostGIS Raster driver - SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) - XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) - HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) - OZI -raster- (rov): OziExplorer Image File - CTG -raster- (rov): USGS LULC Composite Theme Grid - ZMap -raster- (rwv): ZMap Plus Grid (*.dat) - NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) - IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) - PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) - EEDAI -raster- (ros): Earth Engine Data API Image - DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver - SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) - EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) - TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) - OGCAPI -raster,vector- (rov): OGCAPI - STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) - STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items - JPEGXL -raster- (rwv): JPEG-XL (*.jxl) - GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) - OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) - CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) - PLSCENES -raster,vector- (ro): Planet Labs Scenes API - NGW -raster,vector- (rw+s): NextGIS Web - GenBin -raster- (rov): Generic Binary (.hdr Labelled) - ENVI -raster- (rw+v): ENVI .hdr Labelled - EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) - ISCE -raster- (rw+v): ISCE raster - Zarr -raster,multidimensional raster- (rw+vs): Zarr - HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt deleted file mode 100644 index 67c373150..000000000 --- a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix-vector.txt +++ /dev/null @@ -1,82 +0,0 @@ -Supported Formats: - FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) - PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) - netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) - PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) - VICAR -raster,vector- (rw+v): MIPL VICAR file - JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) - PDF -raster,vector- (w+): Geospatial PDF (*.pdf) - MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) - BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) - EEDA -vector- (ro): Earth Engine Data API - OGCAPI -raster,vector- (rov): OGCAPI - ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) - MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) - UK .NTF -vector- (rov): UK .NTF - LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) - OGR_SDTS -vector- (rov): SDTS - S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) - DGN -vector- (rw+v): Microstation DGN (*.dgn) - OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) - Memory -vector- (rw+): Memory - CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) - NAS -vector- (rov): NAS - ALKIS (*.xml) - GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) - GPX -vector- (rw+v): GPX (*.gpx) - LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) - KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) - GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) - GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) - ESRIJSON -vector- (rov): ESRIJSON (*.json) - TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) - Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) - Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) - OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) - GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) - SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) - ODBC -vector- (ro): (*.mdb, *.accdb) - WAsP -vector- (rw+v): WAsP .map format (*.map) - PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) - MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database - PostgreSQL -vector- (rw+): PostgreSQL/PostGIS - MySQL -vector- (rw+): MySQL - OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) - DXF -vector- (rw+v): AutoCAD DXF (*.dxf) - CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) - FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) - Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) - GeoRSS -vector- (rw+v): GeoRSS - VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) - PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) - OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) - GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) - OGR_PDS -vector- (rov): Planetary Data Systems TABLE - WFS -vector- (rov): OGC WFS (Web Feature Service) - OAPIF -vector- (ro): OGC API - Features - EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) - SVG -vector- (rov): Scalable Vector Graphics (*.svg) - Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) - XLS -vector- (ro): MS Excel format (*.xls) - ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) - XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) - Elasticsearch -vector- (rw+): Elastic Search - Carto -vector- (rw+): Carto - AmigoCloud -vector- (rw+): AmigoCloud - SXF -vector- (rov): Storage and eXchange Format (*.sxf) - Selafin -vector- (rw+v): Selafin - JML -vector- (rw+v): OpenJUMP JML (*.jml) - PLSCENES -raster,vector- (ro): Planet Labs Scenes API - CSW -vector- (ro): OGC CSW (Catalog Service for the Web) - VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) - GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) - MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) - NGW -raster,vector- (rw+s): NextGIS Web - MapML -vector- (rw+v): MapML - GTFS -vector- (rov): General Transit Feed Specification (*.zip) - PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) - JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) - MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) - TIGER -vector- (rov): U.S. Census TIGER/Line - AVCBin -vector- (rov): Arc/Info Binary Coverage - AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) - HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt deleted file mode 100644 index 255486c50..000000000 --- a/tests/gdal-formats/formats-unix-arm64/gdal-formats/gdal-formats-unix.txt +++ /dev/null @@ -1 +0,0 @@ -JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt deleted file mode 100644 index b8c6367d2..000000000 --- a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-raster.txt +++ /dev/null @@ -1,152 +0,0 @@ -Supported Formats: - VRT -raster,multidimensional raster- (rw+v): Virtual Raster (*.vrt) - GTI -raster- (rov): GDAL Raster Tile Index (*.gti.gpkg, *.gti.fgb, *.gti) - DERIVED -raster- (ro): Derived datasets using VRT pixel functions - GTiff -raster- (rw+vs): GeoTIFF (*.tif, *.tiff) - COG -raster- (wv): Cloud optimized GeoTIFF generator (*.tif, *.tiff) - NITF -raster- (rw+vs): National Imagery Transmission Format (*.ntf) - RPFTOC -raster- (rovs): Raster Product Format TOC format (*.toc) - ECRGTOC -raster- (rovs): ECRG TOC format (*.xml) - HFA -raster- (rw+v): Erdas Imagine Images (.img) (*.img) - SAR_CEOS -raster- (rov): CEOS SAR Image - CEOS -raster- (rov): CEOS Image - JAXAPALSAR -raster- (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) - GFF -raster- (rov): Ground-based SAR Applications Testbed File Format (.gff) (*.gff) - ELAS -raster- (rw+v): ELAS - ESRIC -raster- (rov): Esri Compact Cache (*.json, *.tpkx) - AIG -raster- (rov): Arc/Info Binary Grid - AAIGrid -raster- (rwv): Arc/Info ASCII Grid (*.asc) - GRASSASCIIGrid -raster- (rov): GRASS ASCII Grid - ISG -raster- (rov): International Service for the Geoid (*.isg) - SDTS -raster- (rov): SDTS Raster (*.ddf) - DTED -raster- (rwv): DTED Elevation Raster (*.dt0, *.dt1, *.dt2) - PNG -raster- (rwv): Portable Network Graphics (*.png) - JPEG -raster- (rwv): JPEG JFIF (*.jpg, *.jpeg) - MEM -raster,multidimensional raster- (rw+): In Memory Raster - JDEM -raster- (rov): Japanese DEM (.mem) (*.mem) - GIF -raster- (rwv): Graphics Interchange Format (.gif) (*.gif) - BIGGIF -raster- (rov): Graphics Interchange Format (.gif) (*.gif) - ESAT -raster- (rov): Envisat Image Format (*.n1) - FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) - BSB -raster- (rov): Maptech BSB Nautical Charts (*.kap) - XPM -raster- (rwv): X11 PixMap Format (*.xpm) - BMP -raster- (rw+v): MS Windows Device Independent Bitmap (*.bmp) - DIMAP -raster- (rovs): SPOT DIMAP - AirSAR -raster- (rov): AirSAR Polarimetric Image - RS2 -raster- (rovs): RadarSat 2 XML Product - SAFE -raster- (rov): Sentinel-1 SAR SAFE Product - PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) - PCRaster -raster- (rw+): PCRaster Raster File (*.map) - ILWIS -raster- (rw+v): ILWIS Raster Map (*.mpr, *.mpl) - SGI -raster- (rw+v): SGI Image File Format 1.0 (*.rgb) - SRTMHGT -raster- (rwv): SRTMHGT File Format (*.hgt) - Leveller -raster- (rw+v): Leveller heightfield (*.ter) - Terragen -raster- (rw+v): Terragen heightfield (*.ter) - netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) - HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4 (*.hdf) - HDF4Image -raster- (rw+): HDF4 Dataset - ISIS3 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 3) (*.lbl, *.cub) - ISIS2 -raster- (rw+v): USGS Astrogeology ISIS cube (Version 2) - PDS -raster- (rov): NASA Planetary Data System - PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) - VICAR -raster,vector- (rw+v): MIPL VICAR file - TIL -raster- (rov): EarthWatch .TIL - ERS -raster- (rw+v): ERMapper .ers Labelled (*.ers) - JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) - L1B -raster- (rovs): NOAA Polar Orbiter Level 1b Data Set - FIT -raster- (rwv): FIT Image - GRIB -raster,multidimensional raster- (rwv): GRIdded Binary (.grb, .grb2) (*.grb, *.grb2, *.grib2) - RMF -raster- (rw+v): Raster Matrix Format (*.rsw) - WCS -raster- (rovs): OGC Web Coverage Service - WMS -raster- (rwvs): OGC Web Map Service - MSGN -raster- (rov): EUMETSAT Archive native (.nat) (*.nat) - RST -raster- (rw+v): Idrisi Raster A.1 (*.rst) - GSAG -raster- (rwv): Golden Software ASCII Grid (.grd) (*.grd) - GSBG -raster- (rw+v): Golden Software Binary Grid (.grd) (*.grd) - GS7BG -raster- (rw+v): Golden Software 7 Binary Grid (.grd) (*.grd) - COSAR -raster- (rov): COSAR Annotated Binary Matrix (TerraSAR-X) - TSX -raster- (rov): TerraSAR-X Product - COASP -raster- (ro): DRDC COASP SAR Processor Raster (*.hdr) - R -raster- (rwv): R Object Data Store (*.rda) - MAP -raster- (rov): OziExplorer .MAP - KMLSUPEROVERLAY -raster- (rwv): Kml Super Overlay (*.kml, *.kmz) - WEBP -raster- (rwv): WEBP (*.webp) - PDF -raster,vector- (w+): Geospatial PDF (*.pdf) - Rasterlite -raster- (rwvs): Rasterlite (*.sqlite) - MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) - PLMOSAIC -raster- (ro): Planet Labs Mosaics API - CALS -raster- (rwv): CALS (Type 1) (*.cal, *.ct1) - WMTS -raster- (rwv): OGC Web Map Tile Service - SENTINEL2 -raster- (rovs): Sentinel 2 - MRF -raster- (rw+v): Meta Raster Format (*.mrf) - PNM -raster- (rw+v): Portable Pixmap Format (netpbm) (*.pgm, *.ppm, *.pnm) - DOQ1 -raster- (rov): USGS DOQ (Old Style) - DOQ2 -raster- (rov): USGS DOQ (New Style) - PAux -raster- (rw+v): PCI .aux Labelled - MFF -raster- (rw+v): Vexcel MFF Raster (*.hdr) - MFF2 -raster- (rw+): Vexcel MFF2 (HKV) Raster - GSC -raster- (rov): GSC Geogrid - FAST -raster- (rov): EOSAT FAST Format - BT -raster- (rw+v): VTP .bt (Binary Terrain) 1.3 Format (*.bt) - LAN -raster- (rw+v): Erdas .LAN/.GIS - CPG -raster- (rov): Convair PolGASP - NDF -raster- (rov): NLAPS Data Format - EIR -raster- (rov): Erdas Imagine Raw - DIPEx -raster- (rov): DIPEx - LCP -raster- (rwv): FARSITE v.4 Landscape File (.lcp) (*.lcp) - GTX -raster- (rw+v): NOAA Vertical Datum .GTX (*.gtx) - LOSLAS -raster- (rov): NADCON .los/.las Datum Grid Shift - NTv2 -raster- (rw+vs): NTv2 Datum Grid Shift (*.gsb, *.gvb) - CTable2 -raster- (rw+v): CTable2 Datum Grid Shift - ACE2 -raster- (rov): ACE2 (*.ACE2) - SNODAS -raster- (rov): Snow Data Assimilation System (*.hdr) - KRO -raster- (rw+v): KOLOR Raw (*.kro) - ROI_PAC -raster- (rw+v): ROI_PAC raster - RRASTER -raster- (rw+v): R Raster (*.grd) - BYN -raster- (rw+v): Natural Resources Canada's Geoid (*.byn, *.err) - NOAA_B -raster- (rov): NOAA GEOCON/NADCON5 .b format (*.b) - NSIDCbin -raster- (rov): NSIDC Sea Ice Concentrations binary (.bin) (*.bin) - RIK -raster- (rov): Swedish Grid RIK (.rik) (*.rik) - USGSDEM -raster- (rwv): USGS Optional ASCII DEM (and CDED) (*.dem) - GXF -raster- (rov): GeoSoft Grid Exchange Format (*.gxf) - BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) - S102 -raster,multidimensional raster- (rovs): S-102 Bathymetric Surface Product (*.h5) - S104 -raster,multidimensional raster- (rov): S-104 Water Level Information for Surface Navigation Product (*.h5) - S111 -raster,multidimensional raster- (rov): Surface Currents Product (*.h5) - HDF5 -raster,multidimensional raster- (rovs): Hierarchical Data Format Release 5 (*.h5, *.hdf5) - HDF5Image -raster- (rov): HDF5 Dataset - NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd) - NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc) - ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen) - SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img) - BLX -raster- (rwv): Magellan topo (.blx) (*.blx) - PostGISRaster -raster- (rws): PostGIS Raster driver - SAGA -raster- (rw+v): SAGA GIS Binary Grid (.sdat, .sg-grd-z) (*.sdat, *.sg-grd-z) - XYZ -raster- (rwv): ASCII Gridded XYZ (*.xyz) - HF2 -raster- (rwv): HF2/HFZ heightfield raster (*.hf2) - OZI -raster- (rov): OziExplorer Image File - CTG -raster- (rov): USGS LULC Composite Theme Grid - ZMap -raster- (rwv): ZMap Plus Grid (*.dat) - NGSGEOID -raster- (rov): NOAA NGS Geoid Height Grids (*.bin) - IRIS -raster- (rov): IRIS data (.PPI, .CAPPi etc) (*.ppi) - PRF -raster- (rov): Racurs PHOTOMOD PRF (*.prf) - EEDAI -raster- (ros): Earth Engine Data API Image - DAAS -raster- (ro): Airbus DS Intelligence Data As A Service driver - SIGDEM -raster- (rwv): Scaled Integer Gridded DEM .sigdem (*.sigdem) - EXR -raster- (rw+vs): Extended Dynamic Range Image File Format (*.exr) - TGA -raster- (rov): TGA/TARGA Image File Format (*.tga) - OGCAPI -raster,vector- (rov): OGCAPI - STACTA -raster- (rovs): Spatio-Temporal Asset Catalog Tiled Assets (*.json) - STACIT -raster- (rovs): Spatio-Temporal Asset Catalog Items - JPEGXL -raster- (rwv): JPEG-XL (*.jxl) - GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) - OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) - CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) - PLSCENES -raster,vector- (ro): Planet Labs Scenes API - NGW -raster,vector- (rw+s): NextGIS Web - GenBin -raster- (rov): Generic Binary (.hdr Labelled) - ENVI -raster- (rw+v): ENVI .hdr Labelled - EHdr -raster- (rw+v): ESRI .hdr Labelled (*.bil) - ISCE -raster- (rw+v): ISCE raster - Zarr -raster,multidimensional raster- (rw+vs): Zarr - HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt deleted file mode 100644 index 67c373150..000000000 --- a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix-vector.txt +++ /dev/null @@ -1,82 +0,0 @@ -Supported Formats: - FITS -raster,vector- (rw+): Flexible Image Transport System (*.fits) - PCIDSK -raster,vector- (rw+v): PCIDSK Database File (*.pix) - netCDF -raster,multidimensional raster,vector- (rw+s): Network Common Data Format (*.nc) - PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4 (*.xml) - VICAR -raster,vector- (rw+v): MIPL VICAR file - JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on JP2OpenJPEG library (*.jp2, *.j2k) - PDF -raster,vector- (w+): Geospatial PDF (*.pdf) - MBTiles -raster,vector- (rw+v): MBTiles (*.mbtiles) - BAG -raster,multidimensional raster,vector- (rw+v): Bathymetry Attributed Grid (*.bag) - EEDA -vector- (ro): Earth Engine Data API - OGCAPI -raster,vector- (rov): OGCAPI - ESRI Shapefile -vector- (rw+v): ESRI Shapefile (*.shp, *.dbf, *.shz, *.shp.zip) - MapInfo File -vector- (rw+v): MapInfo File (*.tab, *.mif, *.mid) - UK .NTF -vector- (rov): UK .NTF - LVBAG -vector- (rov): Kadaster LV BAG Extract 2.0 (*.xml) - OGR_SDTS -vector- (rov): SDTS - S57 -vector- (rw+v): IHO S-57 (ENC) (*.000) - DGN -vector- (rw+v): Microstation DGN (*.dgn) - OGR_VRT -vector- (rov): VRT - Virtual Datasource (*.vrt) - Memory -vector- (rw+): Memory - CSV -vector- (rw+v): Comma Separated Value (.csv) (*.csv, *.tsv, *.psv) - NAS -vector- (rov): NAS - ALKIS (*.xml) - GML -vector- (rw+v): Geography Markup Language (GML) (*.gml, *.xml) - GPX -vector- (rw+v): GPX (*.gpx) - LIBKML -vector- (rw+v): Keyhole Markup Language (LIBKML) (*.kml, *.kmz) - KML -vector- (rw+v): Keyhole Markup Language (KML) (*.kml) - GeoJSON -vector- (rw+v): GeoJSON (*.json, *.geojson) - GeoJSONSeq -vector- (rw+v): GeoJSON Sequence (*.geojsonl, *.geojsons) - ESRIJSON -vector- (rov): ESRIJSON (*.json) - TopoJSON -vector- (rov): TopoJSON (*.json, *.topojson) - Interlis 1 -vector- (rw+v): Interlis 1 (*.itf, *.ili) - Interlis 2 -vector- (rw+v): Interlis 2 (*.xtf, *.xml, *.ili) - OGR_GMT -vector- (rw+v): GMT ASCII Vectors (.gmt) (*.gmt) - GPKG -raster,vector- (rw+vs): GeoPackage (*.gpkg, *.gpkg.zip) - SQLite -vector- (rw+v): SQLite / Spatialite (*.sqlite, *.db) - ODBC -vector- (ro): (*.mdb, *.accdb) - WAsP -vector- (rw+v): WAsP .map format (*.map) - PGeo -vector- (ro): ESRI Personal GeoDatabase (*.mdb) - MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database - PostgreSQL -vector- (rw+): PostgreSQL/PostGIS - MySQL -vector- (rw+): MySQL - OpenFileGDB -raster,vector- (rw+v): ESRI FileGDB (*.gdb) - DXF -vector- (rw+v): AutoCAD DXF (*.dxf) - CAD -raster,vector- (rovs): AutoCAD Driver (*.dwg) - FlatGeobuf -vector- (rw+v): FlatGeobuf (*.fgb) - Geoconcept -vector- (rw+v): Geoconcept (*.gxt, *.txt) - GeoRSS -vector- (rw+v): GeoRSS - VFK -vector- (ro): Czech Cadastral Exchange Data Format (*.vfk) - PGDUMP -vector- (w+v): PostgreSQL SQL dump (*.sql) - OSM -vector- (rov): OpenStreetMap XML and PBF (*.osm, *.pbf) - GPSBabel -vector- (rw+): GPSBabel (*.mps, *.gdb, *.osm, *.tcx, *.igc) - OGR_PDS -vector- (rov): Planetary Data Systems TABLE - WFS -vector- (rov): OGC WFS (Web Feature Service) - OAPIF -vector- (ro): OGC API - Features - EDIGEO -vector- (rov): French EDIGEO exchange format (*.thf) - SVG -vector- (rov): Scalable Vector Graphics (*.svg) - Idrisi -vector- (rov): Idrisi Vector (.vct) (*.vct) - XLS -vector- (ro): MS Excel format (*.xls) - ODS -vector- (rw+v): Open Document/ LibreOffice / OpenOffice Spreadsheet (*.ods) - XLSX -vector- (rw+v): MS Office Open XML spreadsheet (*.xlsx, *.xlsm) - Elasticsearch -vector- (rw+): Elastic Search - Carto -vector- (rw+): Carto - AmigoCloud -vector- (rw+): AmigoCloud - SXF -vector- (rov): Storage and eXchange Format (*.sxf) - Selafin -vector- (rw+v): Selafin - JML -vector- (rw+v): OpenJUMP JML (*.jml) - PLSCENES -raster,vector- (ro): Planet Labs Scenes API - CSW -vector- (ro): OGC CSW (Catalog Service for the Web) - VDV -vector- (rw+v): VDV-451/VDV-452/INTREST Data Format (*.txt, *.x10) - GMLAS -vector- (rwv): Geography Markup Language (GML) driven by application schemas (*.gml, *.xml) - MVT -vector- (rw+v): Mapbox Vector Tiles (*.mvt, *.mvt.gz, *.pbf) - NGW -raster,vector- (rw+s): NextGIS Web - MapML -vector- (rw+v): MapML - GTFS -vector- (rov): General Transit Feed Specification (*.zip) - PMTiles -vector- (rw+v): ProtoMap Tiles (*.pmtiles) - JSONFG -vector- (rw+v): OGC Features and Geometries JSON (*.json) - MiraMonVector -vector- (rw+v): MiraMon Vectors (.pol, .arc, .pnt) (*.pol, *.arc, *.pnt) - TIGER -vector- (rov): U.S. Census TIGER/Line - AVCBin -vector- (rov): Arc/Info Binary Coverage - AVCE00 -vector- (rov): Arc/Info E00 (ASCII) Coverage (*.e00) - HTTP -raster,vector- (ro): HTTP Fetching Wrapper diff --git a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt b/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt deleted file mode 100644 index 255486c50..000000000 --- a/tests/gdal-formats/formats-unix-x64/gdal-formats/gdal-formats-unix.txt +++ /dev/null @@ -1 +0,0 @@ -JPEG raw GTIFF MEM vrt Derived HFA SDTS NITF GXF AAIGrid CEOS SAR_CEOS XPM DTED JDEM Envisat ELAS FIT L1B RS2 ILWIS RMF Leveller SGI SRTMHGT IDRISI GSG ERS PALSARJaxa DIMAP GFF COSAR PDS ADRG COASP TSX Terragen BLX MSGN TIL R northwood SAGA XYZ ESRIC HF2 KMLSUPEROVERLAY CTG ZMap NGSGEOID IRIS MAP CALS SAFE SENTINEL2 PRF MRF WMTS GRIB BMP TGA STACTA BSB AIGrid USGSDEM AirSAR OZI PCIDSK SIGDEM RIK STACIT PDF PNG GIF WCS HTTP netCDF Zarr DAAS EEDA FITS HDF5 PLMOSAIC WMS OGCAPI WEBP HDF4 Rasterlite MBTiles PostGISRaster JP2OpenJPEG EXR PCRaster JPEGXL MEM geojson TAB Shape KML VRT AVC GML CSV DGN GMT NTF S57 Tiger Geoconcept GeoRSS DXF PGDump GPSBabel EDIGEO SXF OpenFileGDB WAsP Selafin JML VDV FlatGeobuf MapML JSONFG MiraMon SDTS GPX GMLAS SVG CSW LIBKML NAS PLSCENES WFS NGW Elastic Idrisi PDS SQLite GeoPackage OSM VFK MVT PMTiles AmigoCloud Carto ILI MySQL PG MSSQLSpatial ODBC PGeo XLSX XLS CAD GTFS ODS LVBAG diff --git a/unix/publish-makefile b/unix/publish-makefile index edfeddd4d..6a169bbd4 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -2,6 +2,9 @@ THIS_FILE := $(lastword $(MAKEFILE_LIST)) include RID.opt include ../shared/GdalCore.opt include ../shared/bundle/base.opt +-include ../shared/bundle/targets/osx.opt +-include ../shared/bundle/targets/unix.opt +-include ../shared/bundle/targets/win.opt ## Creating packages for testing and publishing # https://github.com/dotnet/core/issues/4404 @@ -74,3 +77,9 @@ pack-bundle-dev: generate-projects pack-dev: pack-core-dev pack-runtime-dev @exit 0 + +get-gdal-version: + @echo $(GDAL_VERSION) + +get-package-version: + @echo $(GDAL_VERSION).$(PACKAGE_BUILD_NUMBER) \ No newline at end of file diff --git a/win/partials.psm1 b/win/partials.psm1 index e4628855b..1fcaa2f8d 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -345,8 +345,8 @@ function Write-GdalFormats { Set-Location "$env:GDAL_INSTALL_DIR\bin" try { # Run the executable - (Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe --formats) - (Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe --formats) + Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe --formats + Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe --formats # Fix windows style paths in gdal-config Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" From 3bb880ea9c4d88d6c6e38db3e85cc2ef641bd01b Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 01:09:57 +0300 Subject: [PATCH 132/137] Updates --- .github/workflows/macos.yml | 4 ++-- .github/workflows/unix.yml | 4 ++-- .github/workflows/windows.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3ec15fbad..7f488e436 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -51,8 +51,8 @@ jobs: uses: actions/cache@v4 with: path: | - ${{ github.workspace }}/.dotnet/ - ${{ github.workspace }}/vcpkg-archives/ + .dotnet/ + vcpkg-archives/ key: ${{ matrix.os }}-packages-${{ matrix.arch }} - name: Set up Homebrew diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index 720f465bb..54da5c427 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -57,8 +57,8 @@ jobs: uses: actions/cache@v4 with: path: | - ${{ github.workspace }}/.dotnet - ${{ github.workspace }}/ci/cache/ + .dotnet + ci/cache/ key: ${{ matrix.os }}-buildx-${{ matrix.arch }} - name: Log in to the Container registry diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index bcc034544..10363f46e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -43,8 +43,8 @@ jobs: uses: actions/cache@v4 with: path: | - ${{ github.workspace }}/.dotnet - ${{ github.workspace }}/vcpkg-archives/ + .dotnet + vcpkg-archives/ key: ${{ runner.os }}-buildx-${{ matrix.os }} restore-keys: | ${{ runner.os }}-buildx- From 3fc805e4e9f0e5865f6145a998f4e22f94dc8c97 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 03:26:03 +0300 Subject: [PATCH 133/137] Updates --- .github/workflows/main.yml | 6 ++---- nuget.config | 17 ----------------- unix/push-packages-makefile | 2 +- win/partials.psm1 | 4 ++-- win/push-packages.ps1 | 2 +- 5 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 nuget.config diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d7536e37d..418b2b96d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,6 @@ concurrency: env: DOTNET_INSTALL_DIR: ${{ github.workspace }}/.dotnet DOTNET_VERSION: '8.0.x' - IS_RELEASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} jobs: LinuxBuild: @@ -89,7 +88,6 @@ jobs: overwrite: true - name: Process gdal formats - if: ${{ env.IS_RELEASE }} working-directory: shared/scripts run: | python -m venv venv && source venv/bin/activate @@ -97,7 +95,7 @@ jobs: python ./combine-formats.py '${{ github.workspace }}/tests/gdal-formats' - name: Commit changes - if: ${{ env.IS_RELEASE }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} uses: EndBug/add-and-commit@v9 with: author_name: ${{ secrets.COMMIT_AUTHOR }} @@ -107,7 +105,7 @@ jobs: tag: 'v${{ env.PACKAGES_VERSION }} --force' - name: Push packages - if: ${{ env.IS_RELEASE }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} run: | make -f push-packages-makefile PRERELEASE=${{ env.IS_PRE_RELEASE }} INCLUDE_CORE=1 \ BUILD_NUMBER_TAIL=${{ github.run_number }} API_KEY_GITHUB=${{ secrets.API_KEY_GITHUB }} API_KEY_NUGET=${{ secrets.API_KEY_NUGET }} diff --git a/nuget.config b/nuget.config deleted file mode 100644 index d18242f75..000000000 --- a/nuget.config +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/unix/push-packages-makefile b/unix/push-packages-makefile index 942312e0d..f4f77abc4 100644 --- a/unix/push-packages-makefile +++ b/unix/push-packages-makefile @@ -13,6 +13,6 @@ all: $(TARGETS) .PHONY: force $(TARGETS): force @echo "Publishing package $@" - dotnet nuget push $@ -s nuget.org -k $(API_KEY_NUGET) --skip-duplicate || exit 1 + dotnet nuget push $@ -s nuget -k $(API_KEY_NUGET) --skip-duplicate || exit 1 dotnet nuget push $@ -s github -k $(API_KEY_GITHUB) --skip-duplicate || exit 1 @echo "Successfully published package $@" diff --git a/win/partials.psm1 b/win/partials.psm1 index 1fcaa2f8d..18683e461 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -345,8 +345,8 @@ function Write-GdalFormats { Set-Location "$env:GDAL_INSTALL_DIR\bin" try { # Run the executable - Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe --formats - Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe --formats + Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe -ArgumentList "--formats" + Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe -ArgumentList "--formats" # Fix windows style paths in gdal-config Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" diff --git a/win/push-packages.ps1 b/win/push-packages.ps1 index dc3149031..b66fc1c54 100644 --- a/win/push-packages.ps1 +++ b/win/push-packages.ps1 @@ -28,7 +28,7 @@ foreach ($package in $packages) { $packagePath = "$PSScriptRoot/../nuget/$package" if (Test-Path -Path $packagePath -PathType Leaf) { Write-BuildInfo "[FOUND] Pushing $package" - dotnet nuget push $packagePath -s nuget.org -k $env:API_KEY_NUGET --skip-duplicate + dotnet nuget push $packagePath -s nuget -k $env:API_KEY_NUGET --skip-duplicate dotnet nuget push $packagePath -s github -k $env:API_KEY_GITHUB --skip-duplicate Write-BuildStep "Successfully pushed $package" } From b89bf998b4d81499d6c89a90aa84205dbdee1abe Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 04:11:30 +0300 Subject: [PATCH 134/137] Updates --- win/partials.psm1 | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/win/partials.psm1 b/win/partials.psm1 index 18683e461..ac31c1f4f 100644 --- a/win/partials.psm1 +++ b/win/partials.psm1 @@ -27,6 +27,8 @@ function Set-GdalVariables { $env:SDK_BIN = "$env:SDK_PREFIX\bin" $env:GDAL_INSTALL_DIR = "$env:BUILD_ROOT\gdal-build" $env:VCPKG_INSTALLED = "$env:BUILD_ROOT\vcpkg\installed\x64-windows" + + $env:WEBP_ROOT = Get-ForceResolvePath("$env:BUILD_ROOT\sdk\libwebp*") } function Get-7ZipInstallation { @@ -201,10 +203,8 @@ function Build-Gdal { $env:PROJ_ROOT = "-DPROJ_ROOT=$env:PROJ_INSTALL_DIR" $env:MYSQL_LIBRARY = "-DMYSQL_LIBRARY=$env:SDK_LIB\libmysql.lib" $env:POPPLER_EXTRA_LIBRARIES = "-DPOPPLER_EXTRA_LIBRARIES=$env:SDK_LIB\freetype.lib;$env:SDK_LIB\harfbuzz.lib" - - $webpRoot = Get-ForceResolvePath("$env:BUILD_ROOT\sdk\libwebp*") - $env:WEBP_ROOT = "-DWEBP_INCLUDE_DIR=$webpRoot\include" - $env:WEBP_LIB = "-DWEBP_LIBRARY=$webpRoot\lib\libwebp.lib" + $env:WEBP_INCLUDE = "-DWEBP_INCLUDE_DIR=$env:WEBP_ROOT\include" + $env:WEBP_LIB = "-DWEBP_LIBRARY=$env:WEBP_ROOT\lib\libwebp.lib" Write-BuildStep "Configuring GDAL" Set-Location "$env:BUILD_ROOT" @@ -265,7 +265,7 @@ function Build-Gdal { -DCMAKE_PREFIX_PATH="$env:SDK_PREFIX;$env:VCPKG_INSTALLED" ` -DGDAL_USE_OPENEXR=OFF ` -DCMAKE_CXX_FLAGS="$env:ARCH_FLAGS" ` - $env:WEBP_ROOT $env:WEBP_LIB ` + $env:WEBP_INCLUDE $env:WEBP_LIB ` $env:PROJ_ROOT $env:MYSQL_LIBRARY ` $env:POPPLER_EXTRA_LIBRARIES ` -DGDAL_USE_KEA=OFF ` @@ -334,7 +334,7 @@ function Write-GdalFormats { $env:GDAL_DRIVER_PATH = "$env:GDAL_INSTALL_DIR\share\gdal" $env:PROJ_LIB = "$env:PROJ_INSTALL_DIR\share\proj" - $dllDirectories = @("$env:GDAL_INSTALL_DIR\bin", "$env:VCPKG_INSTALLED\bin", "$env:SDK_PREFIX\bin", "$env:PROJ_INSTALL_DIR\bin") + $dllDirectories = @("$env:GDAL_INSTALL_DIR\bin", "$env:VCPKG_INSTALLED\bin", "$env:SDK_PREFIX\bin", "$env:PROJ_INSTALL_DIR\bin", "$webpRoot\bin") $originalPath = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Process) $newPath = $originalPath + ";" + ($dllDirectories -join ";") [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Process) @@ -344,9 +344,8 @@ function Write-GdalFormats { Set-Location "$env:GDAL_INSTALL_DIR\bin" try { - # Run the executable - Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-raster.txt" -FilePath .\gdalinfo.exe -ArgumentList "--formats" - Start-Process -NoNewWindow -Wait -RedirectStandardOutput "$formats_path\gdal-formats-win-vector.txt" -FilePath .\ogrinfo.exe -ArgumentList "--formats" + (& .\gdalinfo.exe --formats) | Set-Content .\gdal-formats-win-raster.txt -Force + (& .\ogrinfo.exe --formats) | Set-Content .\gdal-formats-win-vector.txt -Force # Fix windows style paths in gdal-config Write-FixShellScriptOnWindows -shellScriptPath "$env:GDAL_INSTALL_DIR\bin\gdal-config" -variableName "CONFIG_DEP_LIBS" From 98cc1d3639f8d6fda0bb2ba538ef83c180eb5650 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 04:42:45 +0300 Subject: [PATCH 135/137] Updates --- .github/workflows/main.yml | 2 +- osx/test-makefile | 2 +- unix/publish-makefile | 3 ++- unix/test-makefile | 2 +- win/test-makefile.vc | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 418b2b96d..0aca63eb4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: run: | dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci --no-restore dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" - dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} + dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} --no-cache dotnet test --no-restore ${{ env.TEST_PROJECT }} - name: Store packages as artifact diff --git a/osx/test-makefile b/osx/test-makefile index 7b41969c1..ca5ea14f0 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -21,7 +21,7 @@ test-restore: cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests" && dotnet remove package $$v &> /dev/null; \ done; cd $(TEST_TARGET) && \ - dotnet restore --ignore-failed-sources + dotnet restore --ignore-failed-sources --no-cache test-update: cd $(TEST_TARGET) && \ diff --git a/unix/publish-makefile b/unix/publish-makefile index 6a169bbd4..ca1ab12bf 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -24,6 +24,7 @@ all: pack generate-projects: $(MAKE) -f ../unix/generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=${RUNTIME_PACKAGE_PARTIAL} CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) + dotnet restore --no-cache update-targets-no-ver: cd $(PACKAGE_BUILD_ROOT) && \ @@ -59,7 +60,7 @@ pack-bundle-final: cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.Core -s $(NUGET_) --no-restore - + dotnet restore --no-cache dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_FINAL) pack: pack-core pack-runtime diff --git a/unix/test-makefile b/unix/test-makefile index 1265df169..e8e667955 100644 --- a/unix/test-makefile +++ b/unix/test-makefile @@ -17,7 +17,7 @@ all: test ### Testing linux libraries (from nuget build output) test-restore: cd $(TEST_TARGET) && \ - dotnet restore --ignore-failed-sources + dotnet restore --ignore-failed-sources --no-cache test-update: cd $(TEST_TARGET) && \ diff --git a/win/test-makefile.vc b/win/test-makefile.vc index bd02f4c7a..b19acaeda 100644 --- a/win/test-makefile.vc +++ b/win/test-makefile.vc @@ -11,7 +11,7 @@ test-restore: -cd $(TEST_DIR) -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 + -dotnet restore -s "https://api.nuget.org/v3/index.json" -s $(NUGET_) --ignore-failed-sources --no-cache -cd $(MAKEDIR) test-update: From 29f1aaabe9dc5ba4dffe008a1d84ab81069d3ccb Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 05:03:32 +0300 Subject: [PATCH 136/137] Revert "Updates" This reverts commit 98cc1d3639f8d6fda0bb2ba538ef83c180eb5650. --- .github/workflows/main.yml | 2 +- osx/test-makefile | 2 +- unix/publish-makefile | 3 +-- unix/test-makefile | 2 +- win/test-makefile.vc | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0aca63eb4..418b2b96d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: run: | dotnet add ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Universal --source local.ci --no-restore dotnet remove ${{ env.TEST_PROJECT }} package MaxRev.Gdal.Core || echo "no packages to remove" - dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} --no-cache + dotnet restore --ignore-failed-sources ${{ env.TEST_PROJECT }} dotnet test --no-restore ${{ env.TEST_PROJECT }} - name: Store packages as artifact diff --git a/osx/test-makefile b/osx/test-makefile index ca5ea14f0..7b41969c1 100644 --- a/osx/test-makefile +++ b/osx/test-makefile @@ -21,7 +21,7 @@ test-restore: cd "$(TEST_DIR)/../MaxRev.Gdal.Core.Tests" && dotnet remove package $$v &> /dev/null; \ done; cd $(TEST_TARGET) && \ - dotnet restore --ignore-failed-sources --no-cache + dotnet restore --ignore-failed-sources test-update: cd $(TEST_TARGET) && \ diff --git a/unix/publish-makefile b/unix/publish-makefile index ca1ab12bf..6a169bbd4 100644 --- a/unix/publish-makefile +++ b/unix/publish-makefile @@ -24,7 +24,6 @@ all: pack generate-projects: $(MAKE) -f ../unix/generate-projects-makefile RUNTIME_PACKAGE_PARTIAL=${RUNTIME_PACKAGE_PARTIAL} CAT_NAME=$(CAT_NAME) GEOS_VERSION=$(GEOS_VERSION) PACKAGE_BUILD_NUMBER=$(PACKAGE_BUILD_NUMBER) - dotnet restore --no-cache update-targets-no-ver: cd $(PACKAGE_BUILD_ROOT) && \ @@ -60,7 +59,7 @@ pack-bundle-final: cd $(PACKAGE_BUILD_ROOT) && \ dotnet add $(RUNTIME_PROJECT_BUNDLE_FINAL) package MaxRev.Gdal.Core -s $(NUGET_) --no-restore - dotnet restore --no-cache + dotnet pack -c Release -o $(NUGET_) $(RUNTIME_PROJECT_BUNDLE_FINAL) pack: pack-core pack-runtime diff --git a/unix/test-makefile b/unix/test-makefile index e8e667955..1265df169 100644 --- a/unix/test-makefile +++ b/unix/test-makefile @@ -17,7 +17,7 @@ all: test ### Testing linux libraries (from nuget build output) test-restore: cd $(TEST_TARGET) && \ - dotnet restore --ignore-failed-sources --no-cache + dotnet restore --ignore-failed-sources test-update: cd $(TEST_TARGET) && \ diff --git a/win/test-makefile.vc b/win/test-makefile.vc index b19acaeda..bd02f4c7a 100644 --- a/win/test-makefile.vc +++ b/win/test-makefile.vc @@ -11,7 +11,7 @@ test-restore: -cd $(TEST_DIR) -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 --no-cache + -dotnet restore -s "https://api.nuget.org/v3/index.json" -s $(NUGET_) --ignore-failed-sources -cd $(MAKEDIR) test-update: From b54a8a545b3ce34bf24f2580ed96a1c2d1686e46 Mon Sep 17 00:00:00 2001 From: MaxRev Date: Fri, 14 Jun 2024 17:02:20 +0300 Subject: [PATCH 137/137] Updates [no ci] --- tests/gdal-formats/formats-win/gdal-formats-win-raster.txt | 0 tests/gdal-formats/formats-win/gdal-formats-win-vector.txt | 0 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/gdal-formats/formats-win/gdal-formats-win-raster.txt delete mode 100644 tests/gdal-formats/formats-win/gdal-formats-win-vector.txt diff --git a/tests/gdal-formats/formats-win/gdal-formats-win-raster.txt b/tests/gdal-formats/formats-win/gdal-formats-win-raster.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/gdal-formats/formats-win/gdal-formats-win-vector.txt b/tests/gdal-formats/formats-win/gdal-formats-win-vector.txt deleted file mode 100644 index e69de29bb..000000000