Configure server component in CI

Changes provided by this MR.

  • CI: Build application server and run tests

  • CI: Explicit distributables phase dependencies Artifacts will be rendered even if other pipeline stages failed.

  • CI: Fix workflow triggers to prevent duplicate pipelines Pipelines were running for both MRs and branches. Disable MR pipelines in favor or branch pipelines to allow specifying push options such as -o ci.variable=CI_FORCE_RUN_ALL_STAGES=true and see the effect in the MR pipeline.

  • server/pom: Remove useless dependencies

  • srv/pom: Lock lombok version, remove optional dependency tag Lombok is required for both compile and execution.

  • srv/PlantService: Return empty collection if user has no plants Follow REST semantics.

  • srv/Controller: Only log unexpected RPC exceptions Prevents server log from being polluted by unnecessary error messages.

  • srv/PlantService: Custom exceptions to yield adequate JSONRPC error codes Follow JSONRPC semantics.

  • srv/SensorService: Custom exceptions to yield adequate JSONRPC error codes Follow JSONRPC semantics.

  • srv/UserService: Custom exceptions to yield adequate JSONRPC error codes Follow JSONRPC semantics.

  • srv/Tests: Adapt tests to custom RPC exceptions & fix broken tests Follow JSONRPC semantics, fix some tests which were failing.

Impact on existing components or the repository

  • None.

Potentially unadressed issues

Edited by Roosemberth Palacios

Merge request reports

Loading