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>
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.
If the user wants a second port for gRPC that should be possible
(and was the only way with the old ecosystem projects). This change
adds a webflux sample and support for
spring.grpc.server.{servlet,reactive}.enabled to be explicitly
"false" to disable the embedded services.
N.B. embedded services are not yet supported in webflux so the flag
has no effect, except to disable gRPC completely if it is "true".