This is an automated email from the ASF dual-hosted git repository. yzheng pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push: new 149c19e06 Add client build to Gradle (#2590) 149c19e06 is described below commit 149c19e0605519bc1b7ff6f77dc748fb49eaadec Author: Yong Zheng <yongzheng0...@gmail.com> AuthorDate: Wed Sep 17 22:48:39 2025 -0500 Add client build to Gradle (#2590) * Add client build to Gradle * Add overwrite option for python build * Match client build behavior --- Makefile | 15 +++++++++++++-- build.gradle.kts | 10 ++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9211d791f..0a4c29802 100644 --- a/Makefile +++ b/Makefile @@ -169,11 +169,22 @@ client-license-check: client-setup-env ## Run license compliance check @echo "--- License compliance check complete ---" .PHONY: client-build -client-build: client-setup-env ## Build client distribution +client-build: client-setup-env ## Build client distribution. Pass FORMAT=sdist or FORMAT=wheel to build a specific format. @echo "--- Building client distribution ---" - @$(ACTIVATE_AND_CD) && poetry build + @if [ -n "$(FORMAT)" ]; then \ + if [ "$(FORMAT)" != "sdist" ] && [ "$(FORMAT)" != "wheel" ]; then \ + echo "Error: Invalid format '$(FORMAT)'. Supported formats are 'sdist' and 'wheel'." >&2; \ + exit 1; \ + fi; \ + echo "Building with format: $(FORMAT)"; \ + $(ACTIVATE_AND_CD) && poetry build --format $(FORMAT); \ + else \ + echo "Building default distribution (sdist and wheel)"; \ + $(ACTIVATE_AND_CD) && poetry build; \ + fi @echo "--- Client distribution build complete ---" + .PHONY: client-cleanup client-cleanup: ## Cleanup virtual environment and Python cache files @echo "--- Cleaning up virtual environment and Python cache files ---" diff --git a/build.gradle.kts b/build.gradle.kts index 06fa84c61..0b70dee98 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -135,6 +135,16 @@ tasks.named<RatTask>("rat").configure { excludes.add("**/*.png") } +tasks.register<Exec>("buildPythonClient") { + description = "Build the python client" + + workingDir = project.projectDir + if (project.hasProperty("python.format")) { + environment("FORMAT", project.property("python.format") as String) + } + commandLine("make", "client-build") +} + // Pass environment variables: // ORG_GRADLE_PROJECT_apacheUsername // ORG_GRADLE_PROJECT_apachePassword