Use package_dir to specify path to Python package

This commit is contained in:
Filip Š
2020-03-13 13:45:14 +01:00
parent 40ff745321
commit 1e08d29cfc
4 changed files with 30 additions and 20 deletions
+6 -5
View File
@@ -105,8 +105,9 @@ def install_pypy(version, url):
return installation_bin_path
def build(project_dir, output_dir, test_command, before_test, test_requires, test_extras, before_build, build_verbosity, build_selector, repair_command, environment):
def build(project_dir, package_dir, output_dir, test_command, before_test, test_requires, test_extras, before_build, build_verbosity, build_selector, repair_command, environment):
abs_project_dir = os.path.abspath(project_dir)
abs_package_dir = os.path.abspath(package_dir)
temp_dir = tempfile.mkdtemp(prefix='cibuildwheel')
built_wheel_dir = os.path.join(temp_dir, 'built_wheel')
repaired_wheel_dir = os.path.join(temp_dir, 'repaired_wheel')
@@ -175,14 +176,14 @@ def build(project_dir, output_dir, test_command, before_test, test_requires, tes
# run the before_build command
if before_build:
before_build_prepared = prepare_command(before_build, project=abs_project_dir)
before_build_prepared = prepare_command(before_build, project=abs_project_dir, package=abs_package_dir)
call(before_build_prepared, env=env, shell=True)
# build the wheel
if os.path.exists(built_wheel_dir):
shutil.rmtree(built_wheel_dir)
os.makedirs(built_wheel_dir)
call(['pip', 'wheel', abs_project_dir, '-w', built_wheel_dir, '--no-deps'] + get_build_verbosity_extra_flags(build_verbosity), env=env)
call(['pip', 'wheel', abs_package_dir, '-w', built_wheel_dir, '--no-deps'] + get_build_verbosity_extra_flags(build_verbosity), env=env)
built_wheel = glob(os.path.join(built_wheel_dir, '*.whl'))[0]
# repair the wheel
@@ -215,7 +216,7 @@ def build(project_dir, output_dir, test_command, before_test, test_requires, tes
call(['which', 'python'], env=virtualenv_env)
if before_test:
before_test_prepared = prepare_command(before_test, project=abs_project_dir)
before_test_prepared = prepare_command(before_test, project=abs_project_dir, package=abs_package_dir)
call(before_test_prepared, env=virtualenv_env, shell=True)
# install the wheel
@@ -228,7 +229,7 @@ def build(project_dir, output_dir, test_command, before_test, test_requires, tes
# run the tests from $HOME, with an absolute path in the command
# (this ensures that Python runs the tests against the installed wheel
# and not the repo code)
test_command_prepared = prepare_command(test_command, project=abs_project_dir)
test_command_prepared = prepare_command(test_command, project=abs_project_dir, package=abs_package_dir)
call(test_command_prepared, cwd=os.environ['HOME'], env=virtualenv_env, shell=True)
# clean up