@@ -14,6 +14,7 @@ NC='\033[0m' # No Color
1414
1515# Parse command line arguments
1616PLATFORM=" ${1:- } "
17+ PYTHON_VERSION=" ${2:- 3.12} "
1718
1819print_header () {
1920 echo -e " ${BLUE} ╔════════════════════════════════════════════════════════════╗${NC} "
@@ -23,7 +24,7 @@ print_header() {
2324}
2425
2526print_usage () {
26- echo " Usage: $0 [PLATFORM]"
27+ echo " Usage: $0 [PLATFORM] [PYTHON_VERSION] "
2728 echo " "
2829 echo " Builds arcadedb-embedded package with bundled JRE"
2930 echo " No external Java installation required!"
@@ -37,16 +38,19 @@ print_usage() {
3738 echo " windows/amd64 Windows x86_64 (native build on Windows)"
3839 echo " windows/arm64 Windows ARM64 (native build on Windows)"
3940 echo " "
41+ echo " PYTHON_VERSION:"
42+ echo " Python version for wheel (default: 3.12)"
43+ echo " Examples: 3.10, 3.11, 3.12, 3.13, 3.14"
44+ echo " "
4045 echo " Build Methods:"
4146 echo " Native: macOS and Windows build natively on their platforms"
4247 echo " Docker: Linux uses Docker for manylinux compliance"
4348 echo " "
4449 echo " Examples:"
45- echo " $0 # Build for current platform (auto-detect)"
46- echo " $0 linux/amd64 # Build for Linux x86_64 (via Docker)"
47- echo " $0 linux/arm64 # Build for Linux ARM64 (via Docker)"
48- echo " $0 darwin/arm64 # Build for macOS ARM64 (native on macOS)"
49- echo " $0 windows/arm64 # Build for Windows ARM64 (native on Windows)"
50+ echo " $0 # Build for current platform with Python 3.12"
51+ echo " $0 linux/amd64 # Build for Linux x86_64 with Python 3.12 (via Docker)"
52+ echo " $0 linux/amd64 3.11 # Build for Linux x86_64 with Python 3.11 (via Docker)"
53+ echo " $0 darwin/arm64 3.12 # Build for macOS ARM64 with Python 3.12 (native)"
5054 echo " "
5155 echo " Package features:"
5256 echo " ✅ Bundled platform-specific JRE (no Java required)"
157161echo -e " ${CYAN} 📋 Build Configuration:${NC} "
158162echo -e " Package: ${YELLOW} arcadedb-embedded${NC} "
159163echo -e " Platform: ${YELLOW}${PLATFORM}${NC} "
164+ echo -e " Python Version: ${YELLOW}${PYTHON_VERSION}${NC} "
160165echo -e " JRE: ${YELLOW} Bundled (end users need no Java)${NC} "
161166echo -e " Build Method: ${YELLOW}${BUILD_METHOD}${NC} "
162167echo " "
209214 docker build \
210215 --pull \
211216 --platform " $DOCKER_PLATFORM " \
217+ --build-arg PYTHON_VERSION=" $PYTHON_VERSION " \
212218 --build-arg PACKAGE_NAME=" $PACKAGE_NAME " \
213219 --build-arg PACKAGE_DESCRIPTION=" $DESCRIPTION " \
214220 --build-arg ARCADEDB_TAG=" $DOCKER_TAG " \
223229 echo -e " ${CYAN} 🧪 Running tests in Docker...${NC} "
224230 docker build \
225231 --platform " $DOCKER_PLATFORM " \
232+ --build-arg PYTHON_VERSION=" $PYTHON_VERSION " \
226233 --build-arg PACKAGE_NAME=" $PACKAGE_NAME " \
227234 --build-arg PACKAGE_DESCRIPTION=" $DESCRIPTION " \
228235 --build-arg ARCADEDB_TAG=" $DOCKER_TAG " \
0 commit comments