Aggregator for the JudahZone project
build all: mvn -T1C -DskipTests clean install
build zone-core: mvn -pl :zone-core -am -DskipTests clean install
Maven aggregator for the JudahZone real-time audio project.
This project serves as the top-level builder and dependency manager for all modules in the JudahZone ecosystem. It ensures consistent versions, simplifies the build process, and manages the relationships between modules.
The meta-zone aggregator manages the following modules:
JudahZone: The main groovebox application (mixer, sequencer, looper, effects).zone-core: Shared utilities for logging, constants, and memory management.zone-fx: Base classes and implementations for audio effects (reverb, delay, etc.).zone-gui: Common Swing GUI components and helpers.zone-scope: A real-time audio visualization toolkit (spectrogram, spectrometer, etc.).zone-javax: Wrappers for JavaSound audio input and output.zone-jnajack: JNA-based bindings for the JACK audio connection kit.zone-test: Shared utilities and fixtures for unit testing.
- Java 21 or newer (tested on OpenJDK 21).
- Maven 3.8+ (for building the project).
Clone this repository to get started. All build commands can be run from the meta-zone root directory.
Build a Specific Module
To build a single module and its required dependencies, use the -pl (projects) and -am (also make) flags.
-
build and run the zone-scope visualizer:
mvn -pl :zone-scope -am -DskipTests clean package
java -jar ../zone-scope/zone-scope-full.jar
-
Build the
zone-fxDSP package library (useful if you only need effects tooling):mvn -pl :zone-fx -am -DskipTests clean package
-
To build the JudahZone application, full dependencies:
mvn -pl :JudahZone -am -DskipTests clean package
-
This command cleans, builds, and installs all modules in parallel. This is the recommended command for a full project build.
mvn -T1C -DskipTests clean install
• -T1C: Builds with one thread per CPU core. • -DskipTests: Skips running unit tests during the build. • clean install: Deletes previous build artifacts and installs the new artifacts into your local Maven repository (~/.m2).
This project aggregates multiple repositories. To contribute:
- Fork the
meta-zonerepository. - Make your changes in the appropriate module branch.
- Submit a Pull Request against the
meta-zoneaggregator. Please ensure all modules build successfully before submitting.
This project and its submodules are licensed under the GPL-3.0 License.