Building and testing
Everything is built from source. To just run the system, use the installer; this page is for working on the code.
JUCE
A³ Motion’s UI and StemDeck build against one JUCE, 9.0.3, pinned as
JUCE_VERSION in a3-system’s
installer/roles/base.py and built into ~/local/juce. Keep only that one
version there: with two, a search without a version takes either. Bump it in
that line on purpose; the installer says when a newer release exists.
Build and test, per repository
From each repository’s root:
Repository |
Build |
Test |
|---|---|---|
a3-core |
|
|
a3-mixer |
— (Python) |
|
a3-mixer panel firmware |
|
|
a3-motion panel firmware |
|
|
a3-motion-ui |
|
|
beat-analyzer |
|
|
StemDeck |
|
|
a3-doc |
|
ctest builds nothing; it runs the last-built tests. For A³ Motion UI use
./test.sh: it builds the tests, runs them against the committed library
(HEAD’s config/ and pattern/ in build/committed/) and prints the runner’s
build time (ARCHITECTURE.md in a3-motion-ui).
For StemDeck and the beat-analyzer, build the test target first. Build
packages: each repository’s README.md.