Operational reference for Vidocq Runtime — Maven coordinates, MicroProfile Config keys, vidocq-runtime-maven-plugin goals, exported Java modules, public SPI.
Maven coordinates
| Artefact | Role |
|---|---|
|
Parent POM (Model 4.0.0) |
|
Public SPI ( |
|
Runtime engine (boot orchestrator, lifecycle) |
|
Aggregator of the shipped extensions, grouped by domain (essentials, jakartaee-core, jakartaee-web, microprofile, module-repackaged) |
|
Maven plugin — |
|
Examples ( |
|
Multi-extension integration tests |
Exported Java modules
| Module | Contents |
|---|---|
|
Public SPI interfaces ( |
|
Orchestration engine — |
The io.vidocq.runtime.extensions.* modules each correspond to a built-in extension. The Maven plugin has no module-info.java on purpose: Maven plugins run on Maven’s class path, not on the application module path.
MicroProfile Config keys
| Key | Default | Description |
|---|---|---|
|
|
Bind address of the |
|
|
Port of the |
|
|
CSV list of listeners to start. |
|
|
Bind of a named listener. Takes precedence over the |
|
— |
Declarative mounts (static resources, …). |
|
— |
JDBC coordinates of the default Mansart datasource. A named datasource uses |
|
|
Mansart pool maximum size. See the Mansart pool extension for |
|
|
Prefix under which Cassini mounts the JAX-RS application. |
|
(empty) |
Active profile ( |
|
(empty) |
External override directory ( |
TLS is not implemented yet: vidocq.https.port, vidocq.tls.cert and vidocq.tls.key are
planned, and setting them today has no effect.
|
A |
ConfigSource hierarchy (descending ordinal):
| Ordinal | Source | Description |
|---|---|---|
400 |
|
|
300 |
|
Environment variables |
250 |
|
|
100 |
|
Classpath |
Maven plugin goals
| Goal | Role |
|---|---|
|
Generates the CDI bean index and pre-generates proxies/interceptors (compile-time codegen). |
|
Standalone distribution: |
|
Dev/watch mode — forks a child JVM with |
|
Verifies every |
|
Patches the non-modular jars of the runtime closure with a generated |
|
Standalone Java image ( |
|
Native bundle ( |
|
Generates |
|
Verifies the application |
|
Opt-in companion of |
See the dedicated page for the exhaustive parameter list.
CLI commands
The vidocq command-line tool (see Getting started for installation). Run vidocq help <command> for the options of each.
| Command | Role |
|---|---|
|
Scaffold a new application ( |
|
Build & package the project by wrapping the Vidocq Maven plugin. With no type it runs the |
|
Run the application in watch mode from the CLI’s module path. For extension-based apps prefer |
|
Run the application once from the CLI’s module path (same pom caveat as |
|
Manage extensions: |
|
Remove build outputs. |
|
Inspect and edit CLI configuration. |
|
Diagnose the local setup (JDK, Maven, PATH). |
|
Show project and runtime information. |
|
Generate shell completion scripts. |
|
Print the CLI version / command help. |
Public SPI (vidocq-runtime-spi)
Source: vidocq-runtime-spi/src/main/java/io/vidocq/runtime/spi/.
| Type | Role |
|---|---|
|
Lifecycle interface — |
|
Passed to |
|
String-property configuration passed to |
|
Typed configuration API aligned with MicroProfile Config concepts — |
|
Interface for the application entry class re-loaded inside the Vauban application layer by |
|
Annotation for the zero-config IDE trampoline |
Bugs and benchmarks
-
Vidocq Runtime bugs:
vidocq/BUG.md -
Cross-cutting bugs:
vidocq/CHAPPE-BUGS.md,vidocq/VAUBAN-BUGS.md -
Benchmarks:
vidocq/BENCH.md
Compatibility
-
Java 25 minimum (LTS)
-
Maven 3.9.16 minimum
-
Strict Java Modules — one
module-info.javaper submodule -
No hidden classpath — every dependency exposes a named module
Next steps
-
Usage — packaging and profiles
-
Internals — boot and threading
-
SPI details — how to write an extension