Commit Graph

84 Commits

Author SHA1 Message Date
Damien Elmes
ac4a1cd8e0 strip fully qualified bazel tools path
tentative fix for https://forums.ankiweb.net/t/anki-2-1-50-beta-3/17501/17
2022-02-14 18:46:50 +10:00
Abdo
af93d8a124
Fix setup-env.bat (#1659)
* Do not assume bazel is in the C drive

* Quote PATH

* make path separator consistent (dae)
2022-02-12 10:10:24 +10:00
Damien Elmes
95dbf30fb9 updates to the build process and binary bundles
All platforms:

- rename scripts/ to tools/: Bazelisk expects to find its wrapper script
(used by the Mac changes below) in tools/. Rather than have a separate
scripts/ and tools/, it's simpler to just move everything into tools/.
- wheel outputs and binary bundles now go into .bazel/out/dist. While
not technically Bazel build products, doing it this way ensures they get
cleaned up when 'bazel clean' is run, and it keeps them out of the source
folder.
- update to the latest Bazel

Windows changes:

- bazel.bat has been removed, and tools\setup-env.bat has been added.
Other scripts like .\run.bat will automatically call it to set up the
environment.
- because Bazel is now on the path, you can 'bazel test ...' from any
folder, instead of having to do \anki\bazel.
- the bat files can handle being called from any working directory,
so things like running "\anki\tools\python" from c:\ will work.
- build installer as part of bundling process

Mac changes:

- `arch -arch x86_64 bazel ...` will now automatically use a different
build root, so that it is cheap to switch back and forth between archs
on a new Mac.
- tools/run-qt* will now automatically use Rosetta
- disable jemalloc in Mac x86 build for now, as it won't build under
Rosetta (perhaps due to its build scripts using $host_cpu instead of
$target_cpu)
- create app bundle as part of bundling process

Linux changes:

- remove arm64 orjson workaround in Linux bundle, as without a
readily-available, relatively distro-agonstic PyQt/Qt build
we can use, the arm64 Linux bundle is of very limited usefulness.
- update Docker files for release build
- include fcitx5 in both the qt5 and qt6 bundles
- create tarballs as part of the bundling process
2022-02-10 19:23:07 +10:00
Damien Elmes
b23b6fbe35 move the separate components back into this monorepo
Earlier today I pushed a change that split this code up into multiple
repos, but that has proved to complicate things too much. So we're
back to a single repo, except the individual submodules are better
separated than they were before.

The README files need updating again; I will push them out soon.

Aside from splitting out the different modules, the sound code has
moved from from anki to aqt.
2020-01-02 19:43:19 +10:00
Damien Elmes
2280a0e58a switch to nose2; nose looks to be on the way out 2019-12-24 19:57:55 +10:00
Damien Elmes
b5fe37d171 hide errors when sudo required for typecheck setup 2019-12-20 10:39:24 +10:00
Damien Elmes
71c0e23b77 do typecheck setup as part of prereqs install 2019-12-18 17:18:24 +10:00
Damien Elmes
52254e0176 avoid sudo in typecheck setup if possible 2019-12-18 17:14:44 +10:00
Damien Elmes
c1cbab0d23 avoid running checks/builds when nothing has changed
with some defaults taken from https://tech.davis-hansson.com/p/make/
2019-12-18 11:12:17 +10:00
Damien Elmes
da2ba2366b make sure failures stop the build 2019-12-16 21:04:32 +10:00
Damien Elmes
86d6352047 add pytype conf file 2019-12-16 18:27:26 +10:00
Damien Elmes
54bfb486e1 enable pytype for anki/ 2019-12-16 17:38:43 +10:00
Damien Elmes
b88de95cd8 bundle sip-generated stubs
the PyQt5-stubs package that's floating around depends on an old
Qt, and throws a bunch of errors
2019-12-16 09:59:18 +10:00
Damien Elmes
c508498ba8 add aqt/ 2019-12-16 08:51:38 +10:00
Damien Elmes
37a239cf38 add basic type checking for anki/ 2019-12-16 08:17:28 +10:00
Damien Elmes
46fa0c2d7b reduce test verbosity 2019-03-05 08:57:00 +10:00
Damien Elmes
8a2a4d827f lint in travis 2019-03-04 17:58:50 +10:00
Damien Elmes
126cbd6534 enable some warnings in pylint 2019-03-04 17:27:39 +10:00
Damien Elmes
ebdd8dae4b tidy up unused imports 2019-03-04 17:25:19 +10:00
Damien Elmes
dfbbeab8db pylint is confused by pyqt subscript notation 2019-03-04 12:25:54 +10:00
Damien Elmes
4a9bb2d396 fix qt-related error messages 2019-03-04 11:43:04 +10:00
Damien Elmes
d802a53161 explicitly import _ in forms/ 2019-03-04 11:34:30 +10:00
Damien Elmes
10ab258501 add basic error checking via pylint 2019-03-04 11:21:20 +10:00
Damien Elmes
0d0c6f94e0 use nosetests3 if available 2018-10-04 17:56:50 +10:00
Damien Elmes
591f5eaeef allow for slow machines
https://anki.tenderapp.com/discussions/ankidesktop/27674-possible-race-condition-in-testtest_cardstest_delete-works-in-isolation
2018-04-12 17:59:51 +10:00
Daniel Drake
4cee3807ff runanki.system: fix prefix at install time
Currently the Makefile lets you choose your own PREFIX, but
the installed runanki.system always hardcodes the prefix as /usr.

Fix runanki.system at install time to install into the designated
PREFIX.
2018-03-08 23:22:41 -06:00
Damien Elmes
d0929e5bab run unit tests in parallel 2017-10-05 14:17:12 +10:00
Damien Elmes
ca9a6fb86c fix make install for source 2017-01-17 11:25:55 +10:00
Damien Elmes
de7e40537d port majority of code to qt5.5+
- a few issues to work out still, and editor changes not done yet
- for communication between webengine and python code, we set window
.location to 'http://anki/<something>' - the leading http is
necessary for qt to call the link handler, which was introduced
in qt5.5
- the designer files now use a promoted qobject to create instances
of AnkiWebView
- we use the css zoom property to alter webengine font size based on
system dpi
- prefs and addons folder stored in new location (at least for now)
2016-05-31 18:51:40 +10:00
Damien Elmes
15b349e3a8 start port to python 3
unit tests pass and main screens of GUI load
2016-05-12 14:45:35 +10:00
WOO-CHEOL CHOI
67f935bf1f PYTHONPATH added when tests script run 2015-12-02 16:02:42 +09:00
Damien Elmes
4a05c736fa tweak build_ui to handle qt5 ui translations 2014-03-30 10:19:48 +09:00
Damien Elmes
5c27e54f0a fix unit tests 2012-12-21 20:17:31 +09:00
Damien Elmes
d477df8c28 merged libanki and ankiqt into single distro 2012-12-21 16:51:59 +09:00