From 1e88321371a3bca3c4fdda7a9ff4c54f72a951c5 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 19 Jun 2024 22:42:15 +0200 Subject: [PATCH] switch to symlink approach for packages Needed to make building work from sdist and source directory. --- .gitignore | 1 + packaging/nominatim-api/COPYING | 1 + packaging/nominatim-api/pyproject.toml | 11 ++---- packaging/nominatim-api/src | 1 + packaging/nominatim-core/COPYING | 1 + packaging/nominatim-core/data | 1 + .../nominatim_core/paths.py | 0 packaging/nominatim-core/lib-sql | 1 + packaging/nominatim-core/pyproject.toml | 38 ++++++++++++------- packaging/nominatim-core/settings | 1 + packaging/nominatim-core/src | 1 + packaging/nominatim-db/COPYING | 1 + packaging/nominatim-db/pyproject.toml | 13 ++----- packaging/nominatim-db/src | 1 + src/nominatim_core/version.py | 3 +- 15 files changed, 45 insertions(+), 30 deletions(-) create mode 120000 packaging/nominatim-api/COPYING create mode 120000 packaging/nominatim-api/src create mode 120000 packaging/nominatim-core/COPYING create mode 120000 packaging/nominatim-core/data rename packaging/nominatim-core/{src => extra_src}/nominatim_core/paths.py (100%) create mode 120000 packaging/nominatim-core/lib-sql create mode 120000 packaging/nominatim-core/settings create mode 120000 packaging/nominatim-core/src create mode 120000 packaging/nominatim-db/COPYING create mode 120000 packaging/nominatim-db/src diff --git a/.gitignore b/.gitignore index 0b0d2c45..8e91f1e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.log *.pyc +*.swp docs/develop/*.png diff --git a/packaging/nominatim-api/COPYING b/packaging/nominatim-api/COPYING new file mode 120000 index 00000000..7d29222e --- /dev/null +++ b/packaging/nominatim-api/COPYING @@ -0,0 +1 @@ +../../COPYING \ No newline at end of file diff --git a/packaging/nominatim-api/pyproject.toml b/packaging/nominatim-api/pyproject.toml index 0e3f36d9..7d270021 100644 --- a/packaging/nominatim-api/pyproject.toml +++ b/packaging/nominatim-api/pyproject.toml @@ -30,15 +30,12 @@ requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.version] -path = "../../src/nominatim_api/version.py" +path = "src/nominatim_api/version.py" pattern = "NOMINATIM_API_VERSION = '(?P[^']+)'" -[tool.hatch.build.targets.sdist.force-include] -"../../src/nominatim_db" = "nominatim_api" - -[tool.hatch.build.targets.sdist.sources] -"src/nominatim_core" = "nominatim_api" +[tool.hatch.build.targets.sdist] +include = ["src/nominatim_api"] [tool.hatch.build.targets.wheel] -packages = ["nominatim_api"] +packages = ["src/nominatim_api"] diff --git a/packaging/nominatim-api/src b/packaging/nominatim-api/src new file mode 120000 index 00000000..a8d2a675 --- /dev/null +++ b/packaging/nominatim-api/src @@ -0,0 +1 @@ +../../src/ \ No newline at end of file diff --git a/packaging/nominatim-core/COPYING b/packaging/nominatim-core/COPYING new file mode 120000 index 00000000..7d29222e --- /dev/null +++ b/packaging/nominatim-core/COPYING @@ -0,0 +1 @@ +../../COPYING \ No newline at end of file diff --git a/packaging/nominatim-core/data b/packaging/nominatim-core/data new file mode 120000 index 00000000..e67b4559 --- /dev/null +++ b/packaging/nominatim-core/data @@ -0,0 +1 @@ +../../data \ No newline at end of file diff --git a/packaging/nominatim-core/src/nominatim_core/paths.py b/packaging/nominatim-core/extra_src/nominatim_core/paths.py similarity index 100% rename from packaging/nominatim-core/src/nominatim_core/paths.py rename to packaging/nominatim-core/extra_src/nominatim_core/paths.py diff --git a/packaging/nominatim-core/lib-sql b/packaging/nominatim-core/lib-sql new file mode 120000 index 00000000..4b0ff01f --- /dev/null +++ b/packaging/nominatim-core/lib-sql @@ -0,0 +1 @@ +../../lib-sql/ \ No newline at end of file diff --git a/packaging/nominatim-core/pyproject.toml b/packaging/nominatim-core/pyproject.toml index 19e86cde..9c7af651 100644 --- a/packaging/nominatim-core/pyproject.toml +++ b/packaging/nominatim-core/pyproject.toml @@ -30,19 +30,31 @@ requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.version] -path = "../../src/nominatim_core/version.py" -pattern = "NOMINATIM_CORE_VERSION = '(?P[^']+)'" +source = "code" +path = "src/nominatim_core/version.py" +expression = "NOMINATIM_CORE_VERSION" -[tool.hatch.build.targets.sdist.force-include] -"../../src/nominatim_core" = "nominatim_core" -"../../lib-sql" = "nominatim_core/resources/lib-sql" -"../../settings" = "nominatim_core/resources/settings" -"../../data/country_osm_grid.sql.gz" = "nominatim_core/resources/country_osm_grid.sql.gz" -"../../data/words.sql" = "nominatim_core/resources/words.sql" -"src/nominatim_core/paths.py" = "nominatim_core/paths.py" - -[tool.hatch.build.targets.sdist.sources] -"src/nominatim_core" = "nominatim_core" +[tool.hatch.build.targets.sdist] +include = [ + "src/nominatim_core", + "lib-sql/**.sql", + "settings", + "data/words.sql", + "extra_src/nominatim_core/paths.py" +] +artifacts = [ + "data/country_osm_grid.sql.gz" +] +exclude = [ + "src/nominatim_core/paths.py" +] [tool.hatch.build.targets.wheel] -packages = ["nominatim_core"] +packages = ["src/nominatim_core"] + +[tool.hatch.build.targets.wheel.force-include] +"lib-sql" = "nominatim_core/resources/lib-sql" +"settings" = "nominatim_core/resources/settings" +"data/country_osm_grid.sql.gz" = "nominatim_core/resources/country_osm_grid.sql.gz" +"data/words.sql" = "nominatim_core/resources/words.sql" +"extra_src/nominatim_core/paths.py" = "nominatim_core/paths.py" diff --git a/packaging/nominatim-core/settings b/packaging/nominatim-core/settings new file mode 120000 index 00000000..51326e66 --- /dev/null +++ b/packaging/nominatim-core/settings @@ -0,0 +1 @@ +../../settings/ \ No newline at end of file diff --git a/packaging/nominatim-core/src b/packaging/nominatim-core/src new file mode 120000 index 00000000..929cb3dc --- /dev/null +++ b/packaging/nominatim-core/src @@ -0,0 +1 @@ +../../src \ No newline at end of file diff --git a/packaging/nominatim-db/COPYING b/packaging/nominatim-db/COPYING new file mode 120000 index 00000000..7d29222e --- /dev/null +++ b/packaging/nominatim-db/COPYING @@ -0,0 +1 @@ +../../COPYING \ No newline at end of file diff --git a/packaging/nominatim-db/pyproject.toml b/packaging/nominatim-db/pyproject.toml index f7d0502b..3e4a9a4f 100644 --- a/packaging/nominatim-db/pyproject.toml +++ b/packaging/nominatim-db/pyproject.toml @@ -30,19 +30,14 @@ requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.version] -path = "../../src/nominatim_db/version.py" +path = "src/nominatim_db/version.py" pattern = "NOMINATIM_VERSION = parse_version.'(?P[^-]+)" -[tool.hatch.build.targets.sdist.force-include] -"../../src/nominatim_db" = "nominatim_db" - -[tool.hatch.build.targets.sdist.sources] -"src/nominatim_core" = "nominatim_db" -"scripts" = "scripts" +[tool.hatch.build.targets.sdist] +include = ["src/nominatim_db", "scripts"] [tool.hatch.build.targets.wheel] -packages = ["nominatim_db"] +packages = ["src/nominatim_db"] [tool.hatch.build.targets.wheel.shared-scripts] "scripts" = "/" - diff --git a/packaging/nominatim-db/src b/packaging/nominatim-db/src new file mode 120000 index 00000000..929cb3dc --- /dev/null +++ b/packaging/nominatim-db/src @@ -0,0 +1 @@ +../../src \ No newline at end of file diff --git a/src/nominatim_core/version.py b/src/nominatim_core/version.py index 64e18b16..91193fa4 100644 --- a/src/nominatim_core/version.py +++ b/src/nominatim_core/version.py @@ -9,7 +9,8 @@ Version information for the Nominatim core package. """ from typing import NamedTuple, Optional -NOMINATIM_CORE_VERSION = '4.4.99' +__version__ = '4.4.99' +NOMINATIM_CORE_VERSION = __version__ class NominatimVersion(NamedTuple): """ Version information for Nominatim. We follow semantic versioning.