From 5efaf5a4be95e289210e964a5cd40b4f08829c8c Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 23 Jan 2022 19:18:44 +1000 Subject: [PATCH] move Bazel convenience symlinks outside of repo folder The default symlink location can cause slowdowns and wasted CPU cycles in VS Code and PyCharm/IntelliJ, as they try to watch Bazel's (large) build folder for changes. The issue can be mostly ameliorated in VS Code by excluding the symlinks using globs in settings like watcherExclude, but the Rust extension doesn't support globs, so each folder needs to be listed out separately. And because the product name symlink depends on the name of the directory you're building from, we can't just include the excludes in .vscode - it will depend on the folder the user is storing things. PyCharm and IntelliJ behave even worse here - they continue to monitor for changes in all folders of the repo, even if those folders have been marked as excluded in the project settings. Placing the folders into the IDE-global Editor>File Types>Ignored Files And Folders works around this, but again we run into troubles making this work out of the box, especially with the product name in the symlink. One option would be to turn the symlinks off completely. They are not required for building, and for scripting/debugging, we can get the folder locations via 'bazel info'. But with that approach, we would no longer be able to symlink build products into the source tree, as we do for things like the generated backend methods and translations, so we'd lose code completion for them that way. Another option would be to place the symlinks in .bazel/ inside the repo. That solves the VS Code case (in conjunction with a workspace config file), but doesn't fully fix IntelliJ/PyCharm. The only remaining option I can see is to place the symlinks outside the repo. Bazel won't expand ~ in the symlink path, so we can't use something like ~/.cache/bazel/anki to place the files near the other build files. So we end up having to have the files written to ../bazel/anki, in the repo's parent folder. Not very clean, but I don't see a better alternative at the moment. .gitignore is still ignoring bazel-*, as currently bazel-dist and bazel-pkg will be created when building/packaging. They should be fairly innocuous, but we may want to rename them at one point. Other changes: - add missing symlink for pylib hooks - add a sample .user.bazelrc file --- .bazelrc | 16 ++++++++++------ .user.bazelrc | 13 +++++++++++++ pylib/anki/_backend/fluent.py | 2 +- pylib/anki/_backend/generated.py | 2 +- pylib/anki/backend_pb2.pyi | 2 +- pylib/anki/card_rendering_pb2.pyi | 2 +- pylib/anki/cards_pb2.pyi | 2 +- pylib/anki/collection_pb2.pyi | 2 +- pylib/anki/config_pb2.pyi | 2 +- pylib/anki/deckconfig_pb2.pyi | 2 +- pylib/anki/decks_pb2.pyi | 2 +- pylib/anki/generic_pb2.pyi | 2 +- pylib/anki/hooks_gen.py | 2 +- pylib/anki/i18n_pb2.pyi | 2 +- pylib/anki/links_pb2.pyi | 2 +- pylib/anki/media_pb2.pyi | 2 +- pylib/anki/notes_pb2.pyi | 2 +- pylib/anki/notetypes_pb2.pyi | 2 +- pylib/anki/scheduler_pb2.pyi | 2 +- pylib/anki/search_pb2.pyi | 2 +- pylib/anki/stats_pb2.pyi | 2 +- pylib/anki/sync_pb2.pyi | 2 +- pylib/anki/tags_pb2.pyi | 2 +- qt/aqt/colors.py | 2 +- qt/aqt/data/web/.prettierrc | 2 +- qt/aqt/forms/__init___qt6.py | 2 +- qt/aqt/forms/about_qt6.py | 2 +- qt/aqt/forms/addcards_qt6.py | 2 +- qt/aqt/forms/addfield_qt6.py | 2 +- qt/aqt/forms/addmodel_qt6.py | 2 +- qt/aqt/forms/addonconf_qt6.py | 2 +- qt/aqt/forms/addons_qt6.py | 2 +- qt/aqt/forms/browser_qt6.py | 2 +- qt/aqt/forms/browserdisp_qt6.py | 2 +- qt/aqt/forms/browseropts_qt6.py | 2 +- qt/aqt/forms/build_ui_qt5_qt6.py | 1 - qt/aqt/forms/build_ui_qt6_qt6.py | 1 - qt/aqt/forms/changemap_qt6.py | 2 +- qt/aqt/forms/changemodel_qt6.py | 2 +- qt/aqt/forms/clayout_top_qt6.py | 2 +- qt/aqt/forms/customstudy_qt6.py | 2 +- qt/aqt/forms/dconf_qt6.py | 2 +- qt/aqt/forms/debug_qt6.py | 2 +- qt/aqt/forms/editaddon_qt6.py | 2 +- qt/aqt/forms/editcurrent_qt6.py | 2 +- qt/aqt/forms/edithtml_qt6.py | 2 +- qt/aqt/forms/emptycards_qt6.py | 2 +- qt/aqt/forms/exporting_qt6.py | 2 +- qt/aqt/forms/fields_qt6.py | 2 +- qt/aqt/forms/filtered_deck_qt6.py | 2 +- qt/aqt/forms/finddupes_qt6.py | 2 +- qt/aqt/forms/findreplace_qt6.py | 2 +- qt/aqt/forms/getaddons_qt6.py | 2 +- qt/aqt/forms/icons.qrc | 2 +- qt/aqt/forms/importing_qt6.py | 2 +- qt/aqt/forms/main_qt6.py | 2 +- qt/aqt/forms/modelopts_qt6.py | 2 +- qt/aqt/forms/models_qt6.py | 2 +- qt/aqt/forms/preferences_qt6.py | 2 +- qt/aqt/forms/preview_qt6.py | 2 +- qt/aqt/forms/profiles_qt6.py | 2 +- qt/aqt/forms/progress_qt6.py | 2 +- qt/aqt/forms/reposition_qt6.py | 2 +- qt/aqt/forms/setgroup_qt6.py | 2 +- qt/aqt/forms/setlang_qt6.py | 2 +- qt/aqt/forms/stats_qt6.py | 2 +- qt/aqt/forms/studydeck_qt6.py | 2 +- qt/aqt/forms/synclog_qt6.py | 2 +- qt/aqt/forms/taglimit_qt6.py | 2 +- qt/aqt/forms/template_qt6.py | 2 +- qt/aqt/hooks_gen.py | 2 +- 71 files changed, 90 insertions(+), 75 deletions(-) create mode 100644 .user.bazelrc delete mode 120000 qt/aqt/forms/build_ui_qt5_qt6.py delete mode 120000 qt/aqt/forms/build_ui_qt6_qt6.py diff --git a/.bazelrc b/.bazelrc index c6ad39d10..1d3a89210 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,12 +1,6 @@ common --enable_platform_specific_config common --experimental_repository_cache_hardlinks -# specify custom python path -# build --action_env="PYO3_PYTHON=/usr/local/bin/python3.9" - -# only affects the ankihelper library -#build:macos --macos_cpus=x86_64,arm64 - # runfiles are off by default on Windows, and we need them build --enable_runfiles @@ -25,11 +19,21 @@ test --test_output=errors # don't add empty __init__.py files build --incompatible_default_to_explicit_init_py +# custom output for CI build:ci --show_timestamps --isatty=0 --color=yes --show_progress_rate_limit=5 + +# 'opt' config is an alias for building with optimizations build:opt -c opt # the TypeScript workers on Windows choke when deps are changed while they're # still running, so shut them down at the end of the build. build:windows --worker_quit_after_build +# place convenience symlinks outside of the source folder, so IDEs don't try to +# monitor Bazel's large symlink tree for changes +build --symlink_prefix=../bazel/anki/ +build --experimental_no_product_name_out_symlink + +# allow extra user customizations in a separate file +# (see .user.bazelrc for an example) try-import %workspace%/user.bazelrc diff --git a/.user.bazelrc b/.user.bazelrc new file mode 100644 index 000000000..cec87f54d --- /dev/null +++ b/.user.bazelrc @@ -0,0 +1,13 @@ +# Copy the desired parts of this file into user.bazelrc in the repo dir +# if you'd like to customize the build. It will be ignored by git. + +## specify custom python path +# build --action_env="PYO3_PYTHON=/usr/local/bin/python3.9" + +## Cache build products for faster builds when switching between branches. +## Is not automatically pruned, so you need to manually remove it occasionally +## to free up disk space. +build --disk_cache=~/.cache/bazel/disk + +## keep Bazel server in memory for 2 days for faster builds +startup --max_idle_secs=172800 diff --git a/pylib/anki/_backend/fluent.py b/pylib/anki/_backend/fluent.py index 9ca9fea94..9efaa136d 120000 --- a/pylib/anki/_backend/fluent.py +++ b/pylib/anki/_backend/fluent.py @@ -1 +1 @@ -../../../bazel-bin/pylib/anki/_backend/fluent.py \ No newline at end of file +../../../../bazel/anki/bin/pylib/anki/_backend/fluent.py \ No newline at end of file diff --git a/pylib/anki/_backend/generated.py b/pylib/anki/_backend/generated.py index 922921371..e849f0601 120000 --- a/pylib/anki/_backend/generated.py +++ b/pylib/anki/_backend/generated.py @@ -1 +1 @@ -../../../bazel-bin/pylib/anki/_backend/generated.py \ No newline at end of file +../../../../bazel/anki/bin/pylib/anki/_backend/generated.py \ No newline at end of file diff --git a/pylib/anki/backend_pb2.pyi b/pylib/anki/backend_pb2.pyi index d3937d76d..9fac71779 120000 --- a/pylib/anki/backend_pb2.pyi +++ b/pylib/anki/backend_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/backend_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/backend_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/card_rendering_pb2.pyi b/pylib/anki/card_rendering_pb2.pyi index 02d63405a..e83876dff 120000 --- a/pylib/anki/card_rendering_pb2.pyi +++ b/pylib/anki/card_rendering_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/card_rendering_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/card_rendering_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/cards_pb2.pyi b/pylib/anki/cards_pb2.pyi index f503a0f31..37c683745 120000 --- a/pylib/anki/cards_pb2.pyi +++ b/pylib/anki/cards_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/cards_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/cards_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/collection_pb2.pyi b/pylib/anki/collection_pb2.pyi index 1c9fc3872..cc981b97f 120000 --- a/pylib/anki/collection_pb2.pyi +++ b/pylib/anki/collection_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/collection_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/collection_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/config_pb2.pyi b/pylib/anki/config_pb2.pyi index 4c6057427..9207b03f1 120000 --- a/pylib/anki/config_pb2.pyi +++ b/pylib/anki/config_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/config_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/config_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/deckconfig_pb2.pyi b/pylib/anki/deckconfig_pb2.pyi index 9cd723191..b41fd7e90 120000 --- a/pylib/anki/deckconfig_pb2.pyi +++ b/pylib/anki/deckconfig_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/deckconfig_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/deckconfig_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/decks_pb2.pyi b/pylib/anki/decks_pb2.pyi index dc097aa9f..f5c02e3fa 120000 --- a/pylib/anki/decks_pb2.pyi +++ b/pylib/anki/decks_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/decks_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/decks_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/generic_pb2.pyi b/pylib/anki/generic_pb2.pyi index 77017f778..c26e600dd 120000 --- a/pylib/anki/generic_pb2.pyi +++ b/pylib/anki/generic_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/generic_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/generic_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/hooks_gen.py b/pylib/anki/hooks_gen.py index 66a6b1bd2..338152188 120000 --- a/pylib/anki/hooks_gen.py +++ b/pylib/anki/hooks_gen.py @@ -1 +1 @@ -../../bazel-bin/pylib/anki/hooks_gen.py \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/hooks_gen.py \ No newline at end of file diff --git a/pylib/anki/i18n_pb2.pyi b/pylib/anki/i18n_pb2.pyi index d496aec75..0af8177d2 120000 --- a/pylib/anki/i18n_pb2.pyi +++ b/pylib/anki/i18n_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/i18n_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/i18n_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/links_pb2.pyi b/pylib/anki/links_pb2.pyi index 240954913..1685fc4bb 120000 --- a/pylib/anki/links_pb2.pyi +++ b/pylib/anki/links_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/links_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/links_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/media_pb2.pyi b/pylib/anki/media_pb2.pyi index f86cbf1aa..23fb19ad7 120000 --- a/pylib/anki/media_pb2.pyi +++ b/pylib/anki/media_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/media_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/media_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/notes_pb2.pyi b/pylib/anki/notes_pb2.pyi index 3728ff344..6e850bd27 120000 --- a/pylib/anki/notes_pb2.pyi +++ b/pylib/anki/notes_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/notes_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/notes_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/notetypes_pb2.pyi b/pylib/anki/notetypes_pb2.pyi index 7d08b284d..3bca99233 120000 --- a/pylib/anki/notetypes_pb2.pyi +++ b/pylib/anki/notetypes_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/notetypes_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/notetypes_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/scheduler_pb2.pyi b/pylib/anki/scheduler_pb2.pyi index c09399793..37808bb06 120000 --- a/pylib/anki/scheduler_pb2.pyi +++ b/pylib/anki/scheduler_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/scheduler_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/scheduler_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/search_pb2.pyi b/pylib/anki/search_pb2.pyi index 5161a8d44..525c5356e 120000 --- a/pylib/anki/search_pb2.pyi +++ b/pylib/anki/search_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/search_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/search_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/stats_pb2.pyi b/pylib/anki/stats_pb2.pyi index b18a9af51..2951a08e7 120000 --- a/pylib/anki/stats_pb2.pyi +++ b/pylib/anki/stats_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/stats_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/stats_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/sync_pb2.pyi b/pylib/anki/sync_pb2.pyi index c6c8de862..a50e52c45 120000 --- a/pylib/anki/sync_pb2.pyi +++ b/pylib/anki/sync_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/sync_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/sync_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/tags_pb2.pyi b/pylib/anki/tags_pb2.pyi index c9ec6d18f..c8bc2433d 120000 --- a/pylib/anki/tags_pb2.pyi +++ b/pylib/anki/tags_pb2.pyi @@ -1 +1 @@ -../../bazel-bin/pylib/anki/tags_pb2.pyi \ No newline at end of file +../../../bazel/anki/bin/pylib/anki/tags_pb2.pyi \ No newline at end of file diff --git a/qt/aqt/colors.py b/qt/aqt/colors.py index 37fcf5a36..14d68125a 120000 --- a/qt/aqt/colors.py +++ b/qt/aqt/colors.py @@ -1 +1 @@ -../../bazel-bin/qt/aqt/colors.py \ No newline at end of file +../../../bazel/anki/bin/qt/aqt/colors.py \ No newline at end of file diff --git a/qt/aqt/data/web/.prettierrc b/qt/aqt/data/web/.prettierrc index d44059133..c4c632a05 120000 --- a/qt/aqt/data/web/.prettierrc +++ b/qt/aqt/data/web/.prettierrc @@ -1 +1 @@ -../../../../ts/.prettierrc \ No newline at end of file +../../../../.prettierrc \ No newline at end of file diff --git a/qt/aqt/forms/__init___qt6.py b/qt/aqt/forms/__init___qt6.py index d09f3c7c6..b8b8adcb3 120000 --- a/qt/aqt/forms/__init___qt6.py +++ b/qt/aqt/forms/__init___qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/__init___qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/__init___qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/about_qt6.py b/qt/aqt/forms/about_qt6.py index 9346a7ee6..a39f535a5 120000 --- a/qt/aqt/forms/about_qt6.py +++ b/qt/aqt/forms/about_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/about_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/about_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addcards_qt6.py b/qt/aqt/forms/addcards_qt6.py index 2023fe24a..29a294c20 120000 --- a/qt/aqt/forms/addcards_qt6.py +++ b/qt/aqt/forms/addcards_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/addcards_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/addcards_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addfield_qt6.py b/qt/aqt/forms/addfield_qt6.py index 6074f2a7e..de65ad191 120000 --- a/qt/aqt/forms/addfield_qt6.py +++ b/qt/aqt/forms/addfield_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/addfield_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/addfield_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addmodel_qt6.py b/qt/aqt/forms/addmodel_qt6.py index c82ec7f3a..b273d62ab 120000 --- a/qt/aqt/forms/addmodel_qt6.py +++ b/qt/aqt/forms/addmodel_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/addmodel_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/addmodel_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addonconf_qt6.py b/qt/aqt/forms/addonconf_qt6.py index 660196e9d..fcf342348 120000 --- a/qt/aqt/forms/addonconf_qt6.py +++ b/qt/aqt/forms/addonconf_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/addonconf_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/addonconf_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addons_qt6.py b/qt/aqt/forms/addons_qt6.py index 50257706b..ce7d507fb 120000 --- a/qt/aqt/forms/addons_qt6.py +++ b/qt/aqt/forms/addons_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/addons_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/addons_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browser_qt6.py b/qt/aqt/forms/browser_qt6.py index d3e9e9e7b..54eed3061 120000 --- a/qt/aqt/forms/browser_qt6.py +++ b/qt/aqt/forms/browser_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/browser_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/browser_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browserdisp_qt6.py b/qt/aqt/forms/browserdisp_qt6.py index 17b1ce3a0..7520aec98 120000 --- a/qt/aqt/forms/browserdisp_qt6.py +++ b/qt/aqt/forms/browserdisp_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/browserdisp_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/browserdisp_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browseropts_qt6.py b/qt/aqt/forms/browseropts_qt6.py index 85414176c..985884ba7 120000 --- a/qt/aqt/forms/browseropts_qt6.py +++ b/qt/aqt/forms/browseropts_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/browseropts_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/browseropts_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/build_ui_qt5_qt6.py b/qt/aqt/forms/build_ui_qt5_qt6.py deleted file mode 120000 index b90c66ba6..000000000 --- a/qt/aqt/forms/build_ui_qt5_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../bazel-bin/qt/aqt/forms/build_ui_qt5_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/build_ui_qt6_qt6.py b/qt/aqt/forms/build_ui_qt6_qt6.py deleted file mode 120000 index 70bd11c7c..000000000 --- a/qt/aqt/forms/build_ui_qt6_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../bazel-bin/qt/aqt/forms/build_ui_qt6_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/changemap_qt6.py b/qt/aqt/forms/changemap_qt6.py index 7dfb40223..bbaed9a51 120000 --- a/qt/aqt/forms/changemap_qt6.py +++ b/qt/aqt/forms/changemap_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/changemap_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/changemap_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/changemodel_qt6.py b/qt/aqt/forms/changemodel_qt6.py index d2b9bfda9..6d4025556 120000 --- a/qt/aqt/forms/changemodel_qt6.py +++ b/qt/aqt/forms/changemodel_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/changemodel_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/changemodel_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/clayout_top_qt6.py b/qt/aqt/forms/clayout_top_qt6.py index 63bb2ba0a..450cb299a 120000 --- a/qt/aqt/forms/clayout_top_qt6.py +++ b/qt/aqt/forms/clayout_top_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/clayout_top_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/clayout_top_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/customstudy_qt6.py b/qt/aqt/forms/customstudy_qt6.py index fc030c146..3a7d45a58 120000 --- a/qt/aqt/forms/customstudy_qt6.py +++ b/qt/aqt/forms/customstudy_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/customstudy_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/customstudy_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/dconf_qt6.py b/qt/aqt/forms/dconf_qt6.py index 1ee73eefd..3371126a9 120000 --- a/qt/aqt/forms/dconf_qt6.py +++ b/qt/aqt/forms/dconf_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/dconf_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/dconf_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/debug_qt6.py b/qt/aqt/forms/debug_qt6.py index 29accf4d0..5d067217b 120000 --- a/qt/aqt/forms/debug_qt6.py +++ b/qt/aqt/forms/debug_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/debug_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/debug_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/editaddon_qt6.py b/qt/aqt/forms/editaddon_qt6.py index 61a93235e..359947cd7 120000 --- a/qt/aqt/forms/editaddon_qt6.py +++ b/qt/aqt/forms/editaddon_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/editaddon_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/editaddon_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/editcurrent_qt6.py b/qt/aqt/forms/editcurrent_qt6.py index 182216a50..cab8556c9 120000 --- a/qt/aqt/forms/editcurrent_qt6.py +++ b/qt/aqt/forms/editcurrent_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/editcurrent_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/editcurrent_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/edithtml_qt6.py b/qt/aqt/forms/edithtml_qt6.py index 4d5732294..a8394b808 120000 --- a/qt/aqt/forms/edithtml_qt6.py +++ b/qt/aqt/forms/edithtml_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/edithtml_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/edithtml_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/emptycards_qt6.py b/qt/aqt/forms/emptycards_qt6.py index 7c3b36e0f..dbfad8676 120000 --- a/qt/aqt/forms/emptycards_qt6.py +++ b/qt/aqt/forms/emptycards_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/emptycards_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/emptycards_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/exporting_qt6.py b/qt/aqt/forms/exporting_qt6.py index d3e88464f..9e81a913f 120000 --- a/qt/aqt/forms/exporting_qt6.py +++ b/qt/aqt/forms/exporting_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/exporting_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/exporting_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/fields_qt6.py b/qt/aqt/forms/fields_qt6.py index b404fab2c..3ac1c54aa 120000 --- a/qt/aqt/forms/fields_qt6.py +++ b/qt/aqt/forms/fields_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/fields_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/fields_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/filtered_deck_qt6.py b/qt/aqt/forms/filtered_deck_qt6.py index 0c8fa97de..c34179dba 120000 --- a/qt/aqt/forms/filtered_deck_qt6.py +++ b/qt/aqt/forms/filtered_deck_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/filtered_deck_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/filtered_deck_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/finddupes_qt6.py b/qt/aqt/forms/finddupes_qt6.py index 5951a4907..6a15eea5e 120000 --- a/qt/aqt/forms/finddupes_qt6.py +++ b/qt/aqt/forms/finddupes_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/finddupes_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/finddupes_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/findreplace_qt6.py b/qt/aqt/forms/findreplace_qt6.py index 863e253d2..4473822d3 120000 --- a/qt/aqt/forms/findreplace_qt6.py +++ b/qt/aqt/forms/findreplace_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/findreplace_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/findreplace_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/getaddons_qt6.py b/qt/aqt/forms/getaddons_qt6.py index 7898b6932..a56ce4fac 120000 --- a/qt/aqt/forms/getaddons_qt6.py +++ b/qt/aqt/forms/getaddons_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/getaddons_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/getaddons_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/icons.qrc b/qt/aqt/forms/icons.qrc index d17297082..9a6aa1d82 120000 --- a/qt/aqt/forms/icons.qrc +++ b/qt/aqt/forms/icons.qrc @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/data/qrc/icons.qrc \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/data/qt/icons.qrc \ No newline at end of file diff --git a/qt/aqt/forms/importing_qt6.py b/qt/aqt/forms/importing_qt6.py index f089cecd0..6251829c1 120000 --- a/qt/aqt/forms/importing_qt6.py +++ b/qt/aqt/forms/importing_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/importing_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/importing_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/main_qt6.py b/qt/aqt/forms/main_qt6.py index ceeeaef2f..a1621e991 120000 --- a/qt/aqt/forms/main_qt6.py +++ b/qt/aqt/forms/main_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/main_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/main_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/modelopts_qt6.py b/qt/aqt/forms/modelopts_qt6.py index ffdc4f397..85a9e0471 120000 --- a/qt/aqt/forms/modelopts_qt6.py +++ b/qt/aqt/forms/modelopts_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/modelopts_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/modelopts_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/models_qt6.py b/qt/aqt/forms/models_qt6.py index 76fd177b2..5b4fbeb35 120000 --- a/qt/aqt/forms/models_qt6.py +++ b/qt/aqt/forms/models_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/models_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/models_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/preferences_qt6.py b/qt/aqt/forms/preferences_qt6.py index c3cddef94..4aad58deb 120000 --- a/qt/aqt/forms/preferences_qt6.py +++ b/qt/aqt/forms/preferences_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/preferences_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/preferences_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/preview_qt6.py b/qt/aqt/forms/preview_qt6.py index ebd0c6300..3fe1b06a4 120000 --- a/qt/aqt/forms/preview_qt6.py +++ b/qt/aqt/forms/preview_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/preview_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/preview_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/profiles_qt6.py b/qt/aqt/forms/profiles_qt6.py index e16ba8816..011713e58 120000 --- a/qt/aqt/forms/profiles_qt6.py +++ b/qt/aqt/forms/profiles_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/profiles_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/profiles_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/progress_qt6.py b/qt/aqt/forms/progress_qt6.py index 596cba869..ac1beccdb 120000 --- a/qt/aqt/forms/progress_qt6.py +++ b/qt/aqt/forms/progress_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/progress_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/progress_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/reposition_qt6.py b/qt/aqt/forms/reposition_qt6.py index a0b8c335f..240694452 120000 --- a/qt/aqt/forms/reposition_qt6.py +++ b/qt/aqt/forms/reposition_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/reposition_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/reposition_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/setgroup_qt6.py b/qt/aqt/forms/setgroup_qt6.py index 7d7f72a1b..8affb4f8c 120000 --- a/qt/aqt/forms/setgroup_qt6.py +++ b/qt/aqt/forms/setgroup_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/setgroup_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/setgroup_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/setlang_qt6.py b/qt/aqt/forms/setlang_qt6.py index 50ec3d564..339374408 120000 --- a/qt/aqt/forms/setlang_qt6.py +++ b/qt/aqt/forms/setlang_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/setlang_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/setlang_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/stats_qt6.py b/qt/aqt/forms/stats_qt6.py index 156dd54a4..f72d946e4 120000 --- a/qt/aqt/forms/stats_qt6.py +++ b/qt/aqt/forms/stats_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/stats_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/stats_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/studydeck_qt6.py b/qt/aqt/forms/studydeck_qt6.py index 224c0d594..69fb7ea22 120000 --- a/qt/aqt/forms/studydeck_qt6.py +++ b/qt/aqt/forms/studydeck_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/studydeck_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/studydeck_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/synclog_qt6.py b/qt/aqt/forms/synclog_qt6.py index 26c206838..1ae5d1d1c 120000 --- a/qt/aqt/forms/synclog_qt6.py +++ b/qt/aqt/forms/synclog_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/synclog_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/synclog_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/taglimit_qt6.py b/qt/aqt/forms/taglimit_qt6.py index f340c989b..b512b4360 120000 --- a/qt/aqt/forms/taglimit_qt6.py +++ b/qt/aqt/forms/taglimit_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/taglimit_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/taglimit_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/template_qt6.py b/qt/aqt/forms/template_qt6.py index 284420bf2..2ee236f2c 120000 --- a/qt/aqt/forms/template_qt6.py +++ b/qt/aqt/forms/template_qt6.py @@ -1 +1 @@ -../../../bazel-bin/qt/aqt/forms/template_qt6.py \ No newline at end of file +../../../../bazel/anki/bin/qt/aqt/forms/template_qt6.py \ No newline at end of file diff --git a/qt/aqt/hooks_gen.py b/qt/aqt/hooks_gen.py index ec787bc5a..a1cb95741 120000 --- a/qt/aqt/hooks_gen.py +++ b/qt/aqt/hooks_gen.py @@ -1 +1 @@ -../../bazel-bin/qt/aqt/hooks_gen.py \ No newline at end of file +../../../bazel/anki/bin/qt/aqt/hooks_gen.py \ No newline at end of file