This folder contains the repo-level helper scripts for the local workspace.
These scripts are wrappers around the three active modules:
solace-broker-apisolace-publisher-uisolace-subscriber
They are meant to give you a small, predictable operator workflow from the repo root.
-
build-broker-api.shBuildssolace-broker-apiwith Maven. -
build-publisher-ui.shBuildssolace-publisher-uiwithnpm run build. Ifnode_modulesis missing, it runsnpm installfirst. -
build-subscriber.shBuildssolace-subscriberwith Maven. -
build-all.shRuns the three build scripts in sequence.
-
start-broker-api.shStartssolace-broker-apiwithmvn spring-boot:run. Requires the shared Solace environment variables. -
start-publisher-ui.shStarts the Vite dev server forsolace-publisher-ui. Ifnode_modulesis missing, it runsnpm installfirst. -
start-subscriber.shBuilds and startssolace-subscriber. Requires the shared Solace environment variables. -
start-all.shStarts API, UI, and subscriber together. It validates the shared Solace environment variables first, streams prefixed logs, and writes a temporary combined-log directory that can also helpstatus-all.sh. Once the API and UI are ready, it also prints a clearer readiness block with their URLs.
-
stop-all.shStops the locally detected API, UI, and subscriber processes when they are running. -
restart-all.shRunsstop-all.sh,build-all.sh, andstart-all.shin sequence. -
status-all.shReports local workspace status for API, UI, and subscriber.Status model:
- API:
checked via
http://localhost:8081/rest/actuator/health - UI:
checked via matching Vite process plus detected listening ports, and when available the latest
start-all.shUI log is used to show the last known ViteLocal:URL - subscriber: checked via matching Java process
- API:
checked via
common.shShared helper functions used by the other scripts. This is not meant to be run directly.
test-scripts.shRuns lightweight smoke checks for the root scripts and their Makefile wiring.
If you want the smallest useful set to remember:
- build everything:
./scripts/build-all.sh - start everything:
./scripts/start-all.sh - stop everything:
./scripts/stop-all.sh - restart everything:
./scripts/restart-all.sh - check status:
./scripts/status-all.sh
The same workflows are also exposed through the root Makefile.
build-broker-api.shrunsmvn clean packageinsidesolace-broker-api.build-subscriber.shrunsmvn clean packageinsidesolace-subscriber.build-publisher-ui.shrunsnpm run buildinsidesolace-publisher-uiand runsnpm installfirst whennode_modulesis missing.build-all.shruns the three module builds sequentially from the repo root.start-broker-api.shandstart-subscriber.shrequire the shared Solace environment variables.start-publisher-ui.shstarts the Vite dev server and runsnpm installfirst whensolace-publisher-ui/node_modulesis missing.start-all.shvalidates the shared Solace environment variables before starting any child processes, streams prefixed[api],[ui], and[subscriber]logs from a temporary combined-log directory, prints a clear readiness block with the API and UI URLs once they are up, and prints a status summary when it stops.stop-all.shsendsTERMto the locally detected API, UI, and subscriber processes when they are running and reports which components were stopped versus already down.restart-all.shrunsstop-all.sh,build-all.sh, andstart-all.shin that order with clear step separators and fails fast if any step fails.status-all.shreports local status for the three components using a hybrid model:- API via
http://localhost:8081/rest/actuator/health - UI via the last known
start-all.shViteLocal:URL when available, otherwise matching Vite process plus detected listening port(s) - subscriber via matching Java process
- API via
- the Vite UI port is dynamic when
5173is busy;status-all.shreuses the lateststart-all.shUI log when available so it can show the actual Vite URL more explicitly. - if
subscriberexits,start-all.shprints a large warning block and intentionally leavesapianduirunning. - if
apioruiexits,start-all.shstill stops the remaining processes intentionally and reports which component failed plus where the combined logs were captured.