Change how paths are handled, using 'project is working dir' mentality
This commit is contained in:
@@ -96,11 +96,10 @@ def build(options: BuildOptions):
|
||||
('pp', 'manylinux_x86_64', options.manylinux_images['pypy_x86_64']),
|
||||
]
|
||||
|
||||
abs_project_dir = os.path.abspath(options.project_dir)
|
||||
abs_package_dir = os.path.abspath(options.package_dir)
|
||||
if not os.path.realpath(options.package_dir).startswith(os.path.realpath('.')):
|
||||
raise Exception('package_dir must be inside the working directory')
|
||||
|
||||
container_project_dir = '/project'
|
||||
container_package_dir = os.path.join(container_project_dir, os.path.relpath(abs_package_dir, os.path.commonprefix([abs_project_dir, abs_package_dir]))),
|
||||
container_package_dir = os.path.join('/project', os.path.relpath(options.package_dir, '.'))
|
||||
|
||||
for implementation, platform_tag, docker_image in platforms:
|
||||
platform_configs = [c for c in python_configurations if c.identifier.startswith(implementation) and c.identifier.endswith(platform_tag)]
|
||||
@@ -108,6 +107,7 @@ def build(options: BuildOptions):
|
||||
continue
|
||||
|
||||
container_name = 'cibuildwheel-{}'.format(uuid.uuid4())
|
||||
|
||||
try:
|
||||
call(['docker', 'create',
|
||||
'--env', 'CIBUILDWHEEL',
|
||||
@@ -244,10 +244,10 @@ def build(options: BuildOptions):
|
||||
test_requires=' '.join(options.test_requires),
|
||||
test_extras=options.test_extras,
|
||||
test_command=shlex.quote(
|
||||
prepare_command(options.test_command, project='/project') if options.test_command else ''
|
||||
prepare_command(options.test_command, project='/project', package=container_package_dir) if options.test_command else ''
|
||||
),
|
||||
before_build=shlex.quote(
|
||||
prepare_command(options.before_build, project='/project') if options.before_build else ''
|
||||
prepare_command(options.before_build, project='/project', package=container_package_dir) if options.before_build else ''
|
||||
),
|
||||
build_verbosity_flag=' '.join(get_build_verbosity_extra_flags(options.build_verbosity)),
|
||||
repair_command=shlex.quote(
|
||||
@@ -257,7 +257,7 @@ def build(options: BuildOptions):
|
||||
uid=os.getuid(),
|
||||
gid=os.getgid(),
|
||||
before_test=shlex.quote(
|
||||
prepare_command(options.before_test, project='/project') if options.before_test else ''
|
||||
prepare_command(options.before_test, project='/project', package=container_package_dir) if options.before_test else ''
|
||||
),
|
||||
dependency_install_flags='-c /constraints.txt' if options.dependency_constraints else '',
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user