Anki/qt/aqt/forms
Damien Elmes 5efaf5a4be 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
2022-01-23 19:18:44 +10:00
..
__init__.py run black/isort on Python scripts 2021-04-14 18:22:02 +10:00
__init___qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
about.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
about.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
about_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
addcards.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
addcards.ui Make add cards dialog a main window (#1486) 2021-11-14 11:33:59 +10:00
addcards_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
addfield.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
addfield.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
addfield_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
addmodel.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
addmodel.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
addmodel_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
addonconf.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
addonconf.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
addonconf_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
addons.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
addons.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
addons_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
browser.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
browser.ui Fix Alt-Gr and add shortcut to create copy again (#1544) 2021-12-10 17:52:08 +10:00
browser_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
browserdisp.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
browserdisp.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
browserdisp_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
browseropts.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
browseropts.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
browseropts_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
BUILD.bazel improve PyQt install 2021-10-23 10:56:17 +10:00
build_ui.py remove a few unnecessary PyQt workarounds 2021-10-24 14:24:35 +10:00
build_ui_qt5.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
build_ui_qt6.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
changemap.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
changemap.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
changemap_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
changemodel.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
changemodel.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
changemodel_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
clayout_top.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
clayout_top.ui Increased max visible items from clayout_top.ui (#1425) 2021-10-14 19:36:04 +10:00
clayout_top_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
compile.bzl build all the UI files in one go 2021-10-16 09:20:20 +10:00
customstudy.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
customstudy.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
customstudy_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
dconf.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
dconf.ui split deck description into separate screen linked from overview 2021-04-22 21:03:16 +10:00
dconf_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
debug.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
debug.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
debug_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
editaddon.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
editaddon.ui update designer references 2020-11-17 19:55:18 +10:00
editaddon_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
editcurrent.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
editcurrent.ui update designer references 2020-11-17 19:55:18 +10:00
editcurrent_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
edithtml.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
edithtml.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
edithtml_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
emptycards.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
emptycards.ui update designer references 2020-11-17 19:55:18 +10:00
emptycards_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
exporting.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
exporting.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
exporting_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
fields.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
fields.ui Editor Field Descriptions (#1476) 2021-11-06 09:42:48 +10:00
fields_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
filtered_deck.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
filtered_deck.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
filtered_deck_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
finddupes.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
finddupes.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
finddupes_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
findreplace.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
findreplace.ui switch to new-style PyQt scoped enums and Qt6 2021-10-15 12:57:19 +10:00
findreplace_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
getaddons.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
getaddons.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
getaddons_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
icons.qrc move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
importing.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
importing.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
importing_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
main.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
main.ui enable redo support 2021-05-19 15:18:39 +10:00
main_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
modelopts.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
modelopts.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
modelopts_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
models.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
models.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
models_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
preferences.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
preferences.ui Live theme changes (#1497) 2021-11-25 07:17:41 +10:00
preferences_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
preview.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
preview.ui initial Bazel conversion 2020-11-01 14:26:58 +10:00
preview_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
profiles.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
profiles.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
profiles_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
progress.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
progress.ui update designer references 2020-11-17 19:55:18 +10:00
progress_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
reposition.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
reposition.ui require reposition to start at 0; cap maximum 2021-06-01 10:09:24 +10:00
reposition_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
setgroup.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
setgroup.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
setgroup_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
setlang.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
setlang.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
setlang_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
stats.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
stats.ui update designer references 2020-11-17 19:55:18 +10:00
stats_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
studydeck.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
studydeck.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
studydeck_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
synclog.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
synclog.ui initial Bazel conversion 2020-11-01 14:26:58 +10:00
synclog_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
taglimit.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
taglimit.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
taglimit_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00
template.py generate pyqt6 forms 2021-10-15 12:57:19 +10:00
template.ui update TR references in .ui files 2021-03-26 15:03:51 +10:00
template_qt6.py move Bazel convenience symlinks outside of repo folder 2022-01-23 19:18:44 +10:00