Skip to content

Commit 5925388

Browse files
committed
Switch gRPC plugins for Maven builds
Signed-off-by: Dave Syer <[email protected]>
1 parent 9c478d3 commit 5925388

File tree

2 files changed

+40
-37
lines changed

2 files changed

+40
-37
lines changed

start-site/src/main/java/io/spring/start/site/extension/dependency/springgrpc/GrpcMavenBuildCustomizer.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class GrpcMavenBuildCustomizer implements BuildCustomizer<MavenBuild> {
3131

3232
private static final String OS_PLUGIN_VERSION = "1.7.1";
3333

34-
private static final String PROTOBUF_PLUGIN_VERSION = "0.6.1";
34+
private static final String PROTOBUF_PLUGIN_VERSION = "3.1.2";
3535

3636
private final String protobufJavaVersion;
3737

@@ -68,20 +68,21 @@ private void addOsPlugin(MavenPluginContainer plugins) {
6868
}
6969

7070
private void addProtobufPlugin(MavenPluginContainer plugins, VersionProperty protobufJava, VersionProperty grpc) {
71-
plugins.add("org.xolstice.maven.plugins", "protobuf-maven-plugin", (plugin) -> {
71+
plugins.add("io.github.ascopes", "protobuf-maven-plugin", (plugin) -> {
7272
plugin.version(PROTOBUF_PLUGIN_VERSION);
7373
plugin.configuration((configuration) -> {
74-
configuration.add("protocArtifact", "com.google.protobuf:protoc:${%s}:exe:${os.detected.classifier}"
75-
.formatted(protobufJava.toStandardFormat()));
76-
configuration.add("pluginId", "grpc-java");
77-
configuration.add("pluginArtifact", "io.grpc:protoc-gen-grpc-java:${%s}:exe:${os.detected.classifier}"
78-
.formatted(grpc.toStandardFormat()));
79-
});
80-
plugin.execution("compile", (execution) -> {
81-
execution.goal("compile").goal("compile-custom");
82-
execution.configuration(
83-
(configuration) -> configuration.add("pluginParameter", "jakarta_omit,@generated=omit"));
74+
configuration.add("protocVersion", "${%s}".formatted(protobufJava.toStandardFormat()));
75+
configuration.add("binaryMavenPlugins", (builder) -> {
76+
builder.add("binaryMavenPlugin", (binary) -> {
77+
binary.add("groupId", "io.grpc");
78+
binary.add("artifactId", "protoc-gen-grpc-java");
79+
binary.add("version", "${%s}".formatted(grpc.toStandardFormat()));
80+
binary.add("classifier", "${os.detected.classifier}");
81+
binary.add("options", "jakarta_omit,@generated=omit");
82+
});
83+
});
8484
});
85+
plugin.execution("generate", (execution) -> execution.goal("generate"));
8586
});
8687
}
8788

start-site/src/test/java/io/spring/start/site/extension/dependency/springgrpc/SpringGrpcProjectGenerationConfigurationTests.java

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -141,31 +141,33 @@ void shouldAddProtobufPluginForMaven() {
141141
ProjectRequest request = createProjectRequest(SPRING_GRPC);
142142
assertThat(mavenPom(request)).hasProperty("grpc.version", "1.72.0")
143143
.hasProperty("protobuf-java.version", "4.30.2")
144-
.containsIgnoringWhitespaces(
145-
"""
146-
<plugin>
147-
<groupId>org.xolstice.maven.plugins</groupId>
148-
<artifactId>protobuf-maven-plugin</artifactId>
149-
<version>0.6.1</version>
150-
<configuration>
151-
<protocArtifact>com.google.protobuf:protoc:${protobuf-java.version}:exe:${os.detected.classifier}</protocArtifact>
152-
<pluginId>grpc-java</pluginId>
153-
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
154-
</configuration>
155-
<executions>
156-
<execution>
157-
<id>compile</id>
158-
<goals>
159-
<goal>compile</goal>
160-
<goal>compile-custom</goal>
161-
</goals>
162-
<configuration>
163-
<pluginParameter>jakarta_omit,@generated=omit</pluginParameter>
164-
</configuration>
165-
</execution>
166-
</executions>
167-
</plugin>
168-
""");
144+
.containsIgnoringWhitespaces("""
145+
<plugin>
146+
<groupId>io.github.ascopes</groupId>
147+
<artifactId>protobuf-maven-plugin</artifactId>
148+
<version>3.1.2</version>
149+
<configuration>
150+
<protocVersion>${protobuf-java.version}</protocVersion>
151+
<binaryMavenPlugins>
152+
<binaryMavenPlugin>
153+
<groupId>io.grpc</groupId>
154+
<artifactId>protoc-gen-grpc-java</artifactId>
155+
<version>${grpc.version}</version>
156+
<classifier>${os.detected.classifier}</classifier>
157+
<options>jakarta_omit,@generated=omit</options>
158+
</binaryMavenPlugin>
159+
</binaryMavenPlugins>
160+
</configuration>
161+
<executions>
162+
<execution>
163+
<id>generate</id>
164+
<goals>
165+
<goal>generate</goal>
166+
</goals>
167+
</execution>
168+
</executions>
169+
</plugin>
170+
""");
169171
}
170172

171173
@Test

0 commit comments

Comments
 (0)