-
Open JDK 17:
sudo apt install openjdk-17-jdk sudo update-alternatives --config java
The java alternative needs to be Java 17 for Spring boot. This can also be done using gradle properties in your home folder .gradle.
-
Reasonable gradle install for Mint https://www.markaicode.com/gradle-installation-on-linux-mint-21/
-
IntelliJ, change Gradle to be Java 17 (if need be) https://stackoverflow.com/questions/72117858/incompatible-because-this-component-declares-a-component-compatible-with-java-11
-
The flatbuffers compiler needs to be a binary. "flatc" in "fb-lib/flatc", needs to be binary, and 23.3.3. If it is not, build flatc 23.3.3 and put it there.
./gradlew build
To run gRPC server
./gradlew :grpc-server:bootRun
To run a test-app client
./gradlew :grpc-test-app:run
Bare minimal set of libraries, plugins and code to run gRPC server. Only official libraries and plugins are used.
Module with library flavour holds schema.fbs
, generates java sources and provides transitive dependencies for flatbuffers and grpc
Module with spring boot app, basically spring controls grpc server lifecycle and provides properties
Module with library flavour adds stubs
over fb-lib
and add UX to generated flatbuffers client
Module with application flavour, onliner of grpc-client
usage