Skip to content

Commit 98f29e4

Browse files
committed
Support Spring Boot 3.x
1 parent ee7a82d commit 98f29e4

File tree

23 files changed

+359
-49
lines changed

23 files changed

+359
-49
lines changed

.github/workflows/build-master.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
java: ['8', '11']
14+
java: ['17']
1515
steps:
1616
- name: Checkout code
1717
uses: actions/checkout@v3
@@ -22,7 +22,7 @@ jobs:
2222
- name: Set up java ${{ matrix.java }}
2323
uses: actions/setup-java@v3
2424
with:
25-
distribution: temurin
25+
distribution: 'temurin'
2626
java-version: ${{ matrix.java }}
2727
check-latest: true
2828

@@ -35,7 +35,7 @@ jobs:
3535
arguments: --scan --stacktrace --warning-mode=all build
3636

3737
- name: Deploy with Gradle
38-
if: ${{ matrix.java == '8' }}
38+
if: ${{ matrix.java == '17' }}
3939
uses: gradle/gradle-build-action@v2
4040
with:
4141
arguments: --scan publish -x check -Psigning.gnupg.executable=gpg -Psigning.gnupg.keyName=${{ secrets.GPG_NAME }} -Psigning.gnupg.passphrase=${{ secrets.GPG_PASSWORD }}

.github/workflows/pull-request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
java: ['8', '11']
11+
java: ['17']
1212
steps:
1313
- name: Checkout code
1414
uses: actions/checkout@v3

build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ buildscript {
2020
protobufGradlePluginVersion = '0.9.4'
2121

2222
// https://github.com/spring-projects/spring-boot/releases
23-
springBootVersion = '2.7.16'
23+
springBootVersion = '3.1.3'
2424
// https://github.com/spring-cloud/spring-cloud-release/releases
2525
springCloudVersion = '2021.0.8'
2626
// https://github.com/alibaba/spring-cloud-alibaba/releases
@@ -82,13 +82,13 @@ allprojects {
8282

8383
java {
8484
toolchain {
85-
languageVersion = JavaLanguageVersion.of(8)
85+
languageVersion = JavaLanguageVersion.of(17)
8686
}
8787
}
8888

8989
compileJava {
90-
sourceCompatibility = JavaVersion.VERSION_1_8
91-
targetCompatibility = JavaVersion.VERSION_1_8
90+
sourceCompatibility = JavaVersion.VERSION_17
91+
targetCompatibility = JavaVersion.VERSION_17
9292
options.encoding = 'UTF-8'
9393
}
9494

@@ -106,6 +106,7 @@ allprojects {
106106
spotless {
107107
java {
108108
target('src/main/**/*.java', 'src/test/**/*.java')
109+
targetExclude('**/SocketUtils.java')
109110
licenseHeaderFile rootProject.file('extra/spotless/mit-license.java')
110111
removeUnusedImports()
111112
importOrderFile rootProject.file('extra/eclipse/eclipse.importorder')

examples/grpc-lib/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ dependencies {
99
if (JavaVersion.current().isJava9Compatible()) {
1010
// Workaround for @javax.annotation.Generated
1111
// see: https://github.com/grpc/grpc-java/issues/3633
12-
implementation 'jakarta.annotation:jakarta.annotation-api'
12+
compileOnly 'org.apache.tomcat:annotations-api:6.0.53'
13+
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
1314
}
1415
}
1516

grpc-client-spring-boot-autoconfigure/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ dependencies {
1515

1616
api project(':grpc-common-spring-boot')
1717
api 'org.springframework.boot:spring-boot-starter'
18+
api 'jakarta.validation:jakarta.validation-api'
1819
optionalSupportImplementation 'org.springframework.boot:spring-boot-starter-actuator'
1920
optionalSupportImplementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
2021
optionalSupportImplementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'

grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/channelfactory/AbstractChannelFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import java.util.concurrent.CountDownLatch;
3232
import java.util.concurrent.TimeUnit;
3333

34-
import javax.annotation.PreDestroy;
3534
import javax.annotation.concurrent.GuardedBy;
3635

3736
import org.springframework.util.unit.DataSize;
@@ -44,6 +43,7 @@
4443
import io.grpc.ConnectivityState;
4544
import io.grpc.ManagedChannel;
4645
import io.grpc.ManagedChannelBuilder;
46+
import jakarta.annotation.PreDestroy;
4747
import lombok.extern.slf4j.Slf4j;
4848
import net.devh.boot.grpc.client.config.GrpcChannelProperties;
4949
import net.devh.boot.grpc.client.config.GrpcChannelProperties.Security;

grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/inject/GrpcClientBeanPostProcessor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
import java.util.Collection;
2727
import java.util.List;
2828

29-
import javax.annotation.PostConstruct;
30-
3129
import org.springframework.beans.BeanInstantiationException;
3230
import org.springframework.beans.BeansException;
3331
import org.springframework.beans.InvalidPropertyException;
@@ -47,6 +45,7 @@
4745
import io.grpc.Channel;
4846
import io.grpc.ClientInterceptor;
4947
import io.grpc.stub.AbstractStub;
48+
import jakarta.annotation.PostConstruct;
5049
import net.devh.boot.grpc.client.channelfactory.GrpcChannelFactory;
5150
import net.devh.boot.grpc.client.nameresolver.NameResolverRegistration;
5251
import net.devh.boot.grpc.client.stubfactory.FallbackStubFactory;

grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/inject/GrpcClientConstructorInjectionBeanFactoryPostProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@
2323
import java.lang.reflect.Parameter;
2424
import java.util.Arrays;
2525

26-
import javax.validation.constraints.NotNull;
27-
2826
import org.springframework.beans.BeansException;
2927
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
3028
import org.springframework.beans.factory.config.BeanDefinition;
3129
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
3230
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
3331

32+
import jakarta.validation.constraints.NotNull;
33+
3434
/**
3535
* {@link BeanFactoryPostProcessor} that searches the bean definitions for {@link GrpcClient} annotations on
3636
* constructors and factory methods.

grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/nameresolver/DiscoveryClientResolverFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import java.util.concurrent.ConcurrentHashMap;
2525

2626
import javax.annotation.Nullable;
27-
import javax.annotation.PreDestroy;
2827

2928
import org.springframework.cloud.client.ServiceInstance;
3029
import org.springframework.cloud.client.discovery.DiscoveryClient;
@@ -36,6 +35,7 @@
3635
import io.grpc.NameResolver;
3736
import io.grpc.NameResolverProvider;
3837
import io.grpc.internal.GrpcUtil;
38+
import jakarta.annotation.PreDestroy;
3939

4040
/**
4141
* A name resolver factory that will create a {@link DiscoveryClientNameResolver} based on the target uri.

0 commit comments

Comments
 (0)