It should had been removed when #5225 was fixed, as it isn't necessary anymore
Doing Android Studio's check confirms that no dependencies needs it currently
gradle heap was very large, and while we need slightly larger
than normal heap, we do not need excessively large heap
when too large, it causes operating system level virtual memory
thrashing on windows workflow runners in github, leading to flaky
builds as the workers are slow and time out
additionally, the kotlin compiler daemon takes up it's own massive
chunk of memory, but can run in-process with almost no performance
affect I can detect, but with elimination of GBs of RAM used
finally, test daemons can inherit main daemon settings now as they
are equivalent
- bcprov gradle.properties setting no longer needed, fix released in AGP7.1
- androidx.core resolution strategy no longer needed (actually was in fragment 1.4)
- opt in to api component publishing new regime to quiet warning
- disable certain lints that were not providing value or are already tracked
- ignore bcprov via ignorelist, can remove w/AGP7.1+ https://issuetracker.google.com/issues/159151549#comment12
- Triple-T publisher needs a switch to their agp7.0 track
- Obsolete versionCode/version/dexOptions removed (suggested by AGP migration task in Android Studio)
- AGP 7+ requires JDK11 to run, retire JDK8 from development
This involved handling some timer differences, and accessing Context differently
The only troubling part was in AbstractFlashcardViewerTest - there's a thorny timing
issue there which I solved by coarsely hacking in a sleep
Remove JaCoCo from build script dependencies as there is no use
of it and it was using a different version than JaCoCo used
for test execution.
Also fix some clumsy Gradle usages:
- duplicate keys in gradle.properties
- casting string jacocoVersion property to string
* Add Mathjax support.
This adds Mathjax 2.7.0. It modifies several files in libanki, but I
tried to check them against the originals in Python.
It does not add fading like Anki but rather shows the text as soon
as Mathjax says it is finished.
I have added a few tests. Some are ported from Anki, and other are
original.
This particular commit does not actually add the Mathjax files. These
are in the next commit.
* Import Mathjax 2.7.0.
This is an import from the upstream git repository, checked out at the
2.7.0 tag.
* Address PR feedback.
* fix release build OOM w/gradle heap increase
* Use mathjax folder from upstream
- de-couple api + AnkiDroid by making sure all evaulation may be done separately
- fork and incremental compile
- scale concurrent tests by CPU count, mindful of containerization
All of these are intended to have no impact on CI or small machines
But if you have a lot of cores and RAM and run tests a lot (my case) you feel this
There was one optimization that didn't pan out - setting the heap big enough to
dex in process - but other than this is the full suite of recommended gradle optimizations