This extracts the Spring Boot managed dependencies from
the spring-grpc-dependencies BOM module into a new
module (`spring-grpc-build-dependencies`) that includes
the dependencies from the BOM as well as the Spring
Boot managed dependencies.
Resolves#118
Signed-off-by: Chris Bono <chris.bono@gmail.com>
Adds a GHA workflow to check Spring Boot compatability of the framework.
The workflow exercises the samples and dynamically sets the version of
each samples Spring Boot plugin.
We do the dynamic version setting using the power of Gradle init scripts
and the fact that each of the samples is exposed as a Gradle module.
Doing this has a positive side effect that our samples are kept up to date
for both Maven and Gradle.
Reworks the Gradle aspect of the samples as follows:
- removes settings.xml in each sample in favor of root samples/setting.xml
- removes Gradle wrapper from each sample in favor of root samples/gradlew
- cleans up build.gradle (they were missing dependencies to work)
- adds README-GRADLE.md at samples/
Signed-off-by: Chris Bono <chris.bono@gmail.com>
Currently the spring-grpc-core imposes an opinion on Netty.
The core module should not have an opinion, but rather the
starter enforces the opinion.
Also, makes spring-grpc-core optional in the autconfigure
module as the autoconfigure will eventually be moved into
Spring Boot and at that time everything is optional.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This commit improves the GrpcChannelFactory createChannel API by
introducing `ChannelBuilderOptions` that can be specified during
channel creation.
Additionally, concrete Netty channel factory implementations have
been added as well as adding type to the GrpcChannelBuilderCustomizer
which helps match customizers to channel factories.