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=trueand 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
- Missing JSON-RPC specification for the server API. But this was already the case. (For example, see the sensor board JSONRPC API)