UNOMI-887: Introduce consolidated build.sh; remove legacy build scripts
Add build.sh: unified build/deploy/run script with robust error handling, colorized/structured output, and preflight checks (tools, system resources, Maven settings, ports).
Support rich CLI options: tests/integration, OpenSearch, debug/ports/suspend, offline/cache control, migration-test skip, single-test, deploy to Karaf.
Replace legacy scripts: remove buildAndRun.sh, buildAndRunNoTests.sh, compileDeploy.sh, generate-package.sh.
Improve DX: clearer failures, consistent workflows across environments, NO_COLOR adherence, macOS/Linux friendly (incl. Apple Silicon hints).
Notes: deployment expects UNOMI_VERSION for KAR/package paths; optional Geo databases copied when present.
No code changes to modules; build behavior is unchanged unless new flags are used.
5 files changed
tree: 7e2820494bbf361041301ad44ada2564386e1b65
  1. .github/
  2. api/
  3. bom/
  4. common/
  5. docker/
  6. extensions/
  7. graphql/
  8. itests/
  9. kar/
  10. lifecycle-watcher/
  11. manual/
  12. metrics/
  13. package/
  14. persistence-elasticsearch/
  15. persistence-spi/
  16. plugins/
  17. rest/
  18. samples/
  19. scripting/
  20. services/
  21. src/
  22. tools/
  23. wab/
  24. .gitignore
  25. build.sh
  26. BUILDING
  27. generate-manual-config.sh
  28. generate-manual.sh
  29. KEYS
  30. LICENSE
  31. license-mappings.xml
  32. MERGING-PULL-REQUESTS
  33. NOTICE
  34. NOTICE.template
  35. pom.xml
  36. README.md
  37. release-audit.sh
  38. release-stage-1.sh
  39. release-stage-2.sh
  40. setenv.sh
  41. shell-utils.sh
  42. update-notice.sh
README.md

Build Status Maven Central

Apache Unomi

https://unomi.apache.org

Apache Unomi stores user profile information and is mostly used to provide a backend server for A/B testing and personalization. To do so it implements the currently under development OASIS Context Server specification.

License

The source code is available under the Apache License V2

Branches

  • main (master) branch: is the current development branch and should be considered unstable. At this it might even not compile. It is only recommended for Unomi developers or people looking to contribute on the project.
  • unomi-X.X.X branches : these are the maintenance branches of the stable releases of Apache Unomi and should always compile and be stable. These are recommended for users that prefer to work from the source code. Otherwise you can find packaged binaries on the Apache Unomi website.

Documentation

You can find all the updated documentation, including building and deployment instructions, on the Apache Unomi web site.