From bb696cd2e33a027cc59dc31b9551020d996ee0dd Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Tue, 21 May 2024 17:23:53 +0200 Subject: [PATCH 01/14] Add RTFD yaml file --- .readthedocs.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..e53ee0a9 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,17 @@ +# https://docs.readthedocs.io/en/stable/config-file/v2.html#supported-settings + +version: 2 + +sphinx: + builder: html + +build: + os: "ubuntu-20.04" + tools: + python: "3.11" + +python: + install: + - requirements: docs/requirements.txt + - method: pip + path: . From a1257a3819e39f7277e9b976dd534c28839cab21 Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Tue, 21 May 2024 17:28:37 +0200 Subject: [PATCH 02/14] Remove requirements in rtfd.yaml --- .readthedocs.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e53ee0a9..71dd02ce 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -12,6 +12,5 @@ build: python: install: - - requirements: docs/requirements.txt - method: pip path: . From 05153a3c7a8faefaacb16d0ad8bcc356ef5c5a4c Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Tue, 21 May 2024 17:32:24 +0200 Subject: [PATCH 03/14] Again try to fix --- .readthedocs.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 71dd02ce..2cb63fa2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -2,15 +2,12 @@ version: 2 -sphinx: - builder: html build: os: "ubuntu-20.04" tools: python: "3.11" -python: - install: - - method: pip - path: . + +sphinx: + configuration: docs/conf.py \ No newline at end of file From bc37401cfbce06150bca351df26c016b79c93942 Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Tue, 21 May 2024 17:37:42 +0200 Subject: [PATCH 04/14] Add rtfd requirements --- .readthedocs.yaml | 3 +++ docs/requirements.txt | 1 + 2 files changed, 4 insertions(+) create mode 100644 docs/requirements.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 2cb63fa2..1f666cbf 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,6 +8,9 @@ build: tools: python: "3.11" +python: + install: + - requirements: docs/requirements.txt sphinx: configuration: docs/conf.py \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..de71d0b8 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +sphinx-rtd-theme==2.0.0 \ No newline at end of file From 07b1c3c14cd437a0637e6202bc46d8db6539e909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Dukai?= Date: Wed, 22 May 2024 13:46:28 +0200 Subject: [PATCH 05/14] remove docker instructions from readme --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index 14dfc5a9..0d26b51d 100644 --- a/README.md +++ b/README.md @@ -141,18 +141,6 @@ In the folder `tools/viz3dity/`, there is a simple Python script where you load However, it's not possible to see where in an object the error is (eg which surface is not planar). This tool helps to quickly visualise where the errors are in a large dataset, for instance a city. - -## Usage of Docker - -To run val3dity over Docker simply execute: - - $ docker run --rm -v :/data tudelft3d/val3dity: - -Where `` is docker image tag from [https://hub.docker.com/r/tudelft3d/val3dity/tags](https://hub.docker.com/r/tudelft3d/val3dity/tags) - -If you are using the `--report` option, then **keep in mind that `` need to be writable by any user, otherwise your output won't be saved.** - - ## Documentation and help Read the full documentation at [https://val3dity.rtfd.io](https://val3dity.rtfd.io). From 055c3e759ecd4c4dbc856bb314496cd27c053f20 Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Wed, 17 Jul 2024 14:55:15 +0200 Subject: [PATCH 06/14] Bump to v2.5.0 --- bumpver.toml | 2 +- changelog.md | 2 +- docs/conf.py | 4 ++-- src/main.cpp | 2 +- src/val3dity.cpp | 2 +- vcpkg.json | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bumpver.toml b/bumpver.toml index ab71d161..e7a9a005 100644 --- a/bumpver.toml +++ b/bumpver.toml @@ -1,5 +1,5 @@ [bumpver] -current_version = "2.5.0b2" +current_version = "2.5.0" version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" commit = false tag = false diff --git a/changelog.md b/changelog.md index f8c2e4e7..7de6f57b 100644 --- a/changelog.md +++ b/changelog.md @@ -5,7 +5,7 @@ - validation of topological relationships between features, eg ensuring that buildings in a city do not overlap -## [2.5.0] - +## [2.5.0] - 2024-07-17 ### Added - val3dity now accepts a stream of CityJSONSeq as input from stdin: `cat myfile.jsonl | val3dity stdin` and it validates each line and outputs the result to stdout - a new error was added: error 905--INVALID_JSON for handling wrong JSON lines in a CityJSONSeq stream diff --git a/docs/conf.py b/docs/conf.py index 0c4039cc..9b306e15 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -55,9 +55,9 @@ # built documents. # # The short X.Y version. -version = u'2.5.0b2' +version = u'2.5.0' # The full version, including alpha/beta/rc tags. -release = u'2.5.0b2' +release = u'2.5.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/src/main.cpp b/src/main.cpp index 9117de68..258734c2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -48,7 +48,7 @@ using namespace std; using namespace val3dity; using json = nlohmann::json; -std::string VAL3DITY_VERSION = "2.5.0b2"; +std::string VAL3DITY_VERSION = "2.5.0"; std::string print_summary_validation(std::vector& lsFeatures, IOErrors& ioerrs); diff --git a/src/val3dity.cpp b/src/val3dity.cpp index 1f40735e..dd073268 100644 --- a/src/val3dity.cpp +++ b/src/val3dity.cpp @@ -43,7 +43,7 @@ namespace val3dity { -std::string VAL3DITY_VERSION = "2.5.0b2"; +std::string VAL3DITY_VERSION = "2.5.0"; struct verror : std::exception { std::string whattext; diff --git a/vcpkg.json b/vcpkg.json index d588312b..faa05552 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,6 +1,6 @@ { "name": "val3dity", - "version-string": "2.5.0b2", + "version-string": "2.5.0", "dependencies": [ "boost-program-options", "boost-geometry", From d25cdf6d328a230407a7dd7c2bdb7ebee788f699 Mon Sep 17 00:00:00 2001 From: Hugo Ledoux Date: Thu, 18 Jul 2024 07:29:07 +0200 Subject: [PATCH 07/14] Update build_exe.yml --- .github/workflows/build_exe.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_exe.yml b/.github/workflows/build_exe.yml index 6264cadb..d0a28d93 100644 --- a/.github/workflows/build_exe.yml +++ b/.github/workflows/build_exe.yml @@ -9,7 +9,7 @@ name: CI on: release: - types: [created] + types: [published] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -37,4 +37,4 @@ jobs: uses: actions/upload-artifact@main with: name: val3dity-win64 - path: Release/val3dity-win64.zip \ No newline at end of file + path: Release/val3dity-win64.zip From 0b8482c8f22f43b90c7aa027db2345aed43a918d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:25:46 +0200 Subject: [PATCH 08/14] Fix GEOS, add build --- .github/workflows/build.yml | 57 +++++++++++++++++++ .../{build_exe.yml => release_exe.yml} | 2 +- CMakeLists.txt | 17 +++--- 3 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/build.yml rename .github/workflows/{build_exe.yml => release_exe.yml} (98%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..4a992975 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,57 @@ +name: Build + + on: + push: +# branches: [ main, develop ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + build_linux_latest: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install libgmp-dev libmpfr-dev libboost-all-dev libeigen3-dev libgeos-dev + - name: Download CGAL + run: | + wget https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1-library.tar.xz -P ${{ github.workspace }} + cd ${{ github.workspace }} + tar -xvf CGAL-5.6.1-library.tar.xz + - name: Build + run: | + mkdir build && cd build + cmake .. -DCGAL_DIR=${{ github.workspace }}/CGAL-5.6.1 && make -j4 + + build_macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + brew update + brew upgrade || true + brew install cmake boost cgal eigen geos + - name: Build + run: | + mkdir build && cd build + cmake .. && make -j4 + + build-windows: + name: windows-latest + runs-on: windows-latest + env: + VCPKG_DEFAULT_TRIPLET: x64-windows + VCPKG_INSTALLATION_ROOT: C:\vcpkg + VCPKG_FEATURE_FLAGS: manifests + steps: + - uses: actions/checkout@v2 + - name: Build + run: | + vcpkg install + mkdir Release + cd Release + cmake .. -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows + cmake --build . --parallel 4 --config Release + diff --git a/.github/workflows/build_exe.yml b/.github/workflows/release_exe.yml similarity index 98% rename from .github/workflows/build_exe.yml rename to .github/workflows/release_exe.yml index d0a28d93..02674164 100644 --- a/.github/workflows/build_exe.yml +++ b/.github/workflows/release_exe.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: CI +name: Win CD # on: diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ec055e4..67c67415 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,6 @@ cmake_minimum_required (VERSION 3.16) project( val3dity ) - add_definitions(-std=c++14) set( CMAKE_BUILD_TYPE "Release") @@ -46,17 +45,20 @@ include(CGAL_Eigen3_support) find_package( Boost REQUIRED COMPONENTS filesystem) if ( NOT Boost_FOUND ) - message(SEND_ERROR "val3dity requires the Boost library") + message( SEND_ERROR "val3dity requires the Boost library" ) return() endif() # GEOS -find_package( GEOS REQUIRED ) -if ( NOT GEOS_FOUND ) - message(SEND_ERROR "val3dity requires the GEOS library") +find_package( GEOS CONFIG REQUIRED ) +if ( GEOS_FOUND ) + get_target_property(GEOS_LOCATION GEOS::geos_c LOCATION) + message( STATUS "Found GEOS: ${GEOS_LOCATION}" ) +else() + message( SEND_ERROR "val3dity requires the GEOS library" ) endif() -include_directories( ${GEOS_INCLUDE_DIR} ) +#include_directories( ${GEOS_INCLUDE_DIR} ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty ) FILE(GLOB_RECURSE THIRDPARTY thirdparty/*.cpp) @@ -77,7 +79,6 @@ else() add_executable(val3dity ${SRC_FILES}) endif() - -target_link_libraries(val3dity CGAL::CGAL CGAL::Eigen3_support ${GEOS_LIBRARY} val3dity_thirdparty Boost::filesystem) +target_link_libraries(val3dity CGAL::CGAL CGAL::Eigen3_support GEOS::geos_c val3dity_thirdparty Boost::filesystem) install(TARGETS val3dity DESTINATION bin) From c6c59f09121789503021ebbe98be35423f214ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:27:36 +0200 Subject: [PATCH 09/14] Add triggers to github actions --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a992975..3a4a0965 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,6 +3,8 @@ name: Build on: push: # branches: [ main, develop ] + pull_request: + workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: From 23824ada3954e4b98e85a966979825fa008e0047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:29:11 +0200 Subject: [PATCH 10/14] Fix action error --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a4a0965..c1e8c2a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,10 +1,10 @@ name: Build - on: - push: -# branches: [ main, develop ] - pull_request: - workflow_dispatch: +on: + push: +# branches: [ main, develop ] + pull_request: + workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: From f848ae3e3484061757941aac497cb5dda2cc5647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:49:03 +0200 Subject: [PATCH 11/14] Refactor names --- .github/workflows/build.yml | 4 ++-- .github/workflows/{release_exe.yml => release-exe.yml} | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) rename .github/workflows/{release_exe.yml => release-exe.yml} (92%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c1e8c2a0..d1a36453 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - build_linux_latest: + build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -26,7 +26,7 @@ jobs: mkdir build && cd build cmake .. -DCGAL_DIR=${{ github.workspace }}/CGAL-5.6.1 && make -j4 - build_macos: + build-macos: runs-on: macos-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/release_exe.yml b/.github/workflows/release-exe.yml similarity index 92% rename from .github/workflows/release_exe.yml rename to .github/workflows/release-exe.yml index 02674164..6fde86dd 100644 --- a/.github/workflows/release_exe.yml +++ b/.github/workflows/release-exe.yml @@ -1,8 +1,5 @@ -# This is a basic workflow to help you get started with Actions - name: Win CD - # on: # push: # branches: [ main, develop ] @@ -13,7 +10,7 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - Windows-build: + build-windows: name: Build Windows runs-on: windows-latest env: From 2b2bf275d990f96970ec2f9d622735832479eaee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:54:50 +0200 Subject: [PATCH 12/14] Update checkout version --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1a36453..3defbf2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ jobs: build-linux: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update @@ -29,7 +29,7 @@ jobs: build-macos: runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | brew update @@ -48,7 +48,7 @@ jobs: VCPKG_INSTALLATION_ROOT: C:\vcpkg VCPKG_FEATURE_FLAGS: manifests steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Build run: | vcpkg install From d43a5a238f464d4af96b155468114c114cef99ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 12:03:56 +0200 Subject: [PATCH 13/14] Add manual trigger to win release --- .github/workflows/release-exe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-exe.yml b/.github/workflows/release-exe.yml index 6fde86dd..65a022c4 100644 --- a/.github/workflows/release-exe.yml +++ b/.github/workflows/release-exe.yml @@ -7,6 +7,7 @@ name: Win CD on: release: types: [published] + workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: From 0bc80b0dc799846c5508405a39a5fcc276d729e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pa=C4=91en?= <49401914+ipadjen@users.noreply.github.com> Date: Thu, 18 Jul 2024 12:08:49 +0200 Subject: [PATCH 14/14] Update action name --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3defbf2f..8c4883a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,7 +41,6 @@ jobs: cmake .. && make -j4 build-windows: - name: windows-latest runs-on: windows-latest env: VCPKG_DEFAULT_TRIPLET: x64-windows