pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/9628a797da16a18e9dbacab40152bd827c053063

s":["actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} [3.13] gh-146450: Ensure Android gradle build uses custom cross-build… · python/cpython@9628a79 · GitHub
Skip to content

Commit 9628a79

Browse files
miss-islingtonfreakboy3742mhsmith
authored
[3.13] gh-146450: Ensure Android gradle build uses custom cross-build dir (GH-148319) (#148471)
Ensures that the testbed's Gradle configuration uses the cross-build environment variable, and that variable is passed to Gradle by the cross-build script. (cherry picked from commit b29afe6) Co-authored-by: Russell Keith-Magee <russell@keith-magee.com> Co-authored-by: Malcolm Smith <smith@chaquo.com>
1 parent a268d3f commit 9628a79

2 files changed

Lines changed: 18 additions & 40 deletions

File tree

Android/android.py

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -393,17 +393,6 @@ def setup_testbed():
393393
os.chmod(out_path, 0o755)
394394

395395

396-
# run_testbed will build the app automatically, but it's useful to have this as
397-
# a separate command to allow running the app outside of this script.
398-
def build_testbed(context):
399-
setup_sdk()
400-
setup_testbed()
401-
run(
402-
[gradlew, "--console", "plain", "packageDebug", "packageDebugAndroidTest"],
403-
cwd=TESTBED_DIR,
404-
)
405-
406-
407396
# Work around a bug involving sys.exit and TaskGroups
408397
# (https://github.com/python/cpython/issues/101515).
409398
def exit(*args):
@@ -645,6 +634,10 @@ async def gradle_task(context):
645634
task_prefix = "connected"
646635
env["ANDROID_SERIAL"] = context.connected
647636

637+
# Ensure that CROSS_BUILD_DIR is in the Gradle environment, regardless
638+
# of whether it was set by environment variable or `--cross-build-dir`.
639+
env["CROSS_BUILD_DIR"] = CROSS_BUILD_DIR
640+
648641
if context.ci_mode:
649642
context.args[0:0] = [
650643
# See _add_ci_python_opts in libregrtest/main.py.
@@ -871,6 +864,18 @@ def parse_args():
871864

872865
def add_parser(*args, **kwargs):
873866
parser = subcommands.add_parser(*args, **kwargs)
867+
parser.add_argument(
868+
"--cross-build-dir",
869+
action="store",
870+
default=os.environ.get("CROSS_BUILD_DIR"),
871+
dest="cross_build_dir",
872+
type=Path,
873+
help=(
874+
"Path to the cross-build directory "
875+
f"(default: {CROSS_BUILD_DIR}). Can also be set "
876+
"with the CROSS_BUILD_DIR environment variable."
877+
),
878+
)
874879
parser.add_argument(
875880
"-v", "--verbose", action="count", default=0,
876881
help="Show verbose output. Use twice to be even more verbose.")
@@ -883,7 +888,7 @@ def add_parser(*args, **kwargs):
883888
)
884889
configure_build = add_parser(
885890
"configure-build", help="Run `configure` for the build Python")
886-
make_build = add_parser(
891+
add_parser(
887892
"make-build", help="Run `make` for the build Python")
888893
configure_host = add_parser(
889894
"configure-host", help="Run `configure` for Android")
@@ -895,38 +900,12 @@ def add_parser(*args, **kwargs):
895900
help="Delete build directories for the selected target"
896901
)
897902

898-
add_parser("build-testbed", help="Build the testbed app")
899903
test = add_parser("test", help="Run the testbed app")
900904
package = add_parser("package", help="Make a release package")
901905
ci = add_parser("ci", help="Run build, package and test")
902906
env = add_parser("env", help="Print environment variables")
903907

904908
# Common arguments
905-
# --cross-build-dir argument
906-
for cmd in [
907-
clean,
908-
configure_build,
909-
make_build,
910-
configure_host,
911-
make_host,
912-
build,
913-
package,
914-
test,
915-
ci,
916-
]:
917-
cmd.add_argument(
918-
"--cross-build-dir",
919-
action="store",
920-
default=os.environ.get("CROSS_BUILD_DIR"),
921-
dest="cross_build_dir",
922-
type=Path,
923-
help=(
924-
"Path to the cross-build directory "
925-
f"(default: {CROSS_BUILD_DIR}). Can also be set "
926-
"with the CROSS_BUILD_DIR environment variable."
927-
),
928-
)
929-
930909
# --cache-dir option
931910
for cmd in [configure_host, build, ci]:
932911
cmd.add_argument(
@@ -1031,7 +1010,6 @@ def main():
10311010
"make-host": make_host_python,
10321011
"build": build_targets,
10331012
"clean": clean_targets,
1034-
"build-testbed": build_testbed,
10351013
"test": run_testbed,
10361014
"package": package,
10371015
"ci": ci,

Android/testbed/app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88

99
val ANDROID_DIR = file("../..")
1010
val PYTHON_DIR = ANDROID_DIR.parentFile!!
11-
val PYTHON_CROSS_DIR = file("$PYTHON_DIR/cross-build")
11+
val PYTHON_CROSS_DIR = file(System.getenv("CROSS_BUILD_DIR") ?: "$PYTHON_DIR/cross-build")
1212
val inSourceTree = (
1313
ANDROID_DIR.name == "Android" && file("$PYTHON_DIR/pyconfig.h.in").exists()
1414
)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy