fix: minor 4.0 issues in Android validation, docs, and docstring (#2891)
* fix: minor 4.0 issues in android validation, docs, and docstring - android: raise a clear FatalError when ANDROID_API_LEVEL is not an integer, instead of an uncaught ValueError deep in localized_vars - docs: note that delvewheel is the default Windows repair-wheel-command since 4.0 and how to skip it for platform-tagged wheels with no extension module; update the now-outdated FAQ wording - venv: fix _parse_pip_constraint_for_virtualenv docstring to say marker-bearing constraints are evaluated against the host's default environment (not skipped) when marker_env is None Assisted-by: ClaudeCode:claude-opus-4.8 * fix: use int() with original error for ANDROID_API_LEVEL validation Handle ANDROID_API_LEVEL validation via try/except around int() so the original exception message is surfaced, and so non-ASCII Unicode digits (which isdigit() accepts but int() may reject) are handled correctly. Assisted-by: ClaudeCode:claude-opus-4.8 * refactor: address reivew by moving error catch Assisted-by: ClaudeCode:claude-opus-4.8 Signed-off-by: Henry Schreiner <henryfs@princeton.edu> --------- Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
This commit is contained in:
@@ -349,7 +349,11 @@ def localized_vars(
|
||||
final = final.replace(orig_prefix, str(prefix))
|
||||
|
||||
if key == "ANDROID_API_LEVEL":
|
||||
final = int(build_env[key])
|
||||
try:
|
||||
final = int(build_env[key])
|
||||
except ValueError as e:
|
||||
msg = f"ANDROID_API_LEVEL: {e}. This variable must be an integer."
|
||||
raise errors.FatalError(msg) from e
|
||||
|
||||
# Build systems vary in whether FLAGS variables are read from sysconfig, and if so,
|
||||
# whether they're replaced by environment variables or combined with them. Even
|
||||
|
||||
Reference in New Issue
Block a user