#!/bin/bash1# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.3# This program and the accompanying materials are made available under the4# terms of the Eclipse Public License 2.0 which is available at5# https://www.eclipse.org/legal/epl-2.0/6# This Source Code may also be made available under the following Secondary7# Licenses when the conditions for such availability set forth in the Eclipse8# Public License 2.0 are satisfied: GNU General Public License, version 29# or later which is available at10# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1213# @file wheels.sh14# @author Michael Behrisch15# @date 2024-06-131617# Does the nightly git pull on the Linux / macOS server and then runs the wheel build18PREFIX=$119PLATFORM=$220LOG=$PREFIX/wheel.log21# to make sure we do not use the brew python22PYTHON=/usr/bin/python32324cd $PREFIX/sumo25git clean -f -x -d -q . &> $LOG ||(echo "git clean failed"; tail -10 $LOG)26git pull >> $LOG 2>&1 || (echo "git pull failed"; tail -10 $LOG)27rm -rf dist dist_native $LOG28if test "$3" == "local"; then29cp build_config/pyproject.toml .30$PYTHON ./tools/build_config/version.py tools/build_config/setup-sumo.py ./setup.py31$PYTHON -m build --wheel >> $LOG 2>&132$PYTHON ./tools/build_config/version.py tools/build_config/setup-libsumo.py tools/setup.py33$PYTHON -m build --wheel tools -o dist >> $LOG 2>&134$PYTHON -c 'import os,sys; v="cp%s%s"%sys.version_info[:2]; os.rename(sys.argv[1], sys.argv[1].replace("%s-%s"%(v,v), "py2.py3-none"))' dist/eclipse_sumo-*35pushd tools >> $LOG36$PYTHON ./build_config/version.py ./build_config/setup-sumolib.py ./setup.py37$PYTHON -m build --wheel . -o ../dist >> $LOG 2>&138$PYTHON ./build_config/version.py ./build_config/setup-traci.py ./setup.py39$PYTHON -m build --wheel . -o ../dist >> $LOG 2>&140popd >> $LOG41mv dist dist_native # just as backup42fi43# the docker script will create _skbuild, dist and wheelhouse dir owned by root but writable for everyone44# we only need wheelhouse, the rest is for inspecting if errors occur45docker run --rm -v $PWD:/opt/sumo --workdir /opt/sumo $PLATFORM tools/build_config/build_wheels.sh $HTTPS_PROXY v1.3.1 >> $LOG 2>&1464748