Skip to content

Commit c72bae2

Browse files
committed
build: bump swagger to 2.2.42
1 parent 04c13ad commit c72bae2

File tree

6 files changed

+36
-67
lines changed

6 files changed

+36
-67
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jupiter = "6.0.2"
1414
mockito = "5.21.0"
1515
openapi-merger = "1.0.5"
1616
openapi-generator = "7.19.0"
17-
swagger = "2.2.26"
17+
swagger = "2.2.42"
1818
swagger-parser = "2.1.38"
1919

2020
[libraries]

plugins/edc-build/src/main/java/org/eclipse/edc/plugins/edcbuild/EdcBuildPlugin.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
package org.eclipse.edc.plugins.edcbuild;
1717

18+
import org.eclipse.edc.plugins.edcbuild.conventions.EdcConvention;
1819
import org.eclipse.edc.plugins.edcbuild.extensions.BuildExtension;
1920
import org.eclipse.edc.plugins.edcbuild.plugins.ModuleNamesPlugin;
2021
import org.eclipse.edc.plugins.edcbuild.plugins.OpenApiMergerPlugin;
@@ -29,6 +30,9 @@
2930
import org.gradle.crypto.checksum.ChecksumPlugin;
3031
import org.gradle.plugins.signing.Sign;
3132

33+
import java.util.Map;
34+
import java.util.stream.Stream;
35+
3236
import static java.util.List.of;
3337
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.allDependencies;
3438
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.checkstyle;
@@ -37,13 +41,15 @@
3741
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.mavenPom;
3842
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.mavenPublication;
3943
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.mavenPublishing;
44+
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.openApiMerger;
4045
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.printClasspath;
4146
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.repositories;
4247
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.rootBuildScript;
4348
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.signing;
44-
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.swagger;
49+
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.swaggerGenerator;
4550
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.tests;
4651
import static org.eclipse.edc.plugins.edcbuild.conventions.Conventions.waitForPublishedArtifacts;
52+
import static org.gradle.api.plugins.JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME;
4753

4854
/**
4955
* Adds (opinionated) conventions (=configuration) for various plugins.
@@ -62,6 +68,13 @@ public void apply(Project target) {
6268
task.mustRunAfter(signTasks);
6369
});
6470

71+
of(
72+
rootBuildScript(),
73+
repositories(),
74+
swaggerGenerator(),
75+
openApiMerger()
76+
).forEach(c -> c.apply(target));
77+
6578
// configuration values are only guaranteed to be set after the project has been evaluated
6679
// https://docs.gradle.org/current/userguide/build_lifecycle.html
6780
target.afterEvaluate(project -> {
@@ -71,8 +84,6 @@ public void apply(Project target) {
7184

7285
// apply the conventions
7386
of(
74-
rootBuildScript(),
75-
repositories(),
7687
defaultDependencies(),
7788
checkstyle(),
7889
mavenPublishing(),
@@ -82,7 +93,6 @@ public void apply(Project target) {
8293
allDependencies(),
8394
tests(),
8495
jar(),
85-
swagger(),
8696
printClasspath(),
8797
waitForPublishedArtifacts()
8898
).forEach(c -> c.apply(project));

plugins/edc-build/src/main/java/org/eclipse/edc/plugins/edcbuild/conventions/Conventions.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ public static EdcConvention rootBuildScript() {
5959
return new RootBuildScriptConvention();
6060
}
6161

62-
public static EdcConvention swagger() {
63-
return new SwaggerConvention();
64-
}
65-
6662
public static EdcConvention swaggerGenerator() {
6763
return new SwaggerResolveConvention();
6864
}

plugins/edc-build/src/main/java/org/eclipse/edc/plugins/edcbuild/conventions/OpenApiMergerConvention.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.function.Supplier;
2222

2323
import static org.eclipse.edc.plugins.edcbuild.conventions.ConventionFunctions.requireExtension;
24-
import static org.eclipse.edc.plugins.edcbuild.conventions.SwaggerConvention.defaultOutputDirectory;
24+
import static org.eclipse.edc.plugins.edcbuild.conventions.SwaggerResolveConvention.defaultOutputDirectory;
2525

2626
/**
2727
* Configures inputs and outputs for the OpenAPI merger plugin

plugins/edc-build/src/main/java/org/eclipse/edc/plugins/edcbuild/conventions/SwaggerConvention.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

plugins/edc-build/src/main/java/org/eclipse/edc/plugins/edcbuild/conventions/SwaggerResolveConvention.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,19 @@
1515
package org.eclipse.edc.plugins.edcbuild.conventions;
1616

1717
import io.swagger.v3.plugins.gradle.tasks.ResolveTask;
18-
import org.eclipse.edc.plugins.edcbuild.Versions;
1918
import org.eclipse.edc.plugins.edcbuild.extensions.BuildExtension;
2019
import org.eclipse.edc.plugins.edcbuild.tasks.PrintApiGroupTask;
2120
import org.gradle.api.Project;
21+
import org.gradle.api.file.FileCollection;
2222
import org.gradle.api.plugins.JavaPluginExtension;
23+
import org.jspecify.annotations.NonNull;
2324

2425
import java.nio.file.Path;
25-
import java.util.Map;
2626
import java.util.stream.Stream;
2727

28+
import static org.eclipse.edc.plugins.edcbuild.Versions.JAKARTA_WS_RS;
29+
import static org.eclipse.edc.plugins.edcbuild.Versions.SWAGGER;
2830
import static org.eclipse.edc.plugins.edcbuild.conventions.ConventionFunctions.requireExtension;
29-
import static org.eclipse.edc.plugins.edcbuild.conventions.SwaggerConvention.defaultOutputDirectory;
3031
import static org.gradle.api.plugins.JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME;
3132

3233
/**
@@ -37,46 +38,48 @@ class SwaggerResolveConvention implements EdcConvention {
3738
private static final String DEFAULT_API_GROUP = "";
3839
public static final String SWAGGER_GRADLE_PLUGIN = "io.swagger.core.v3.swagger-gradle-plugin";
3940

41+
public static Path defaultOutputDirectory(Project project) {
42+
return Path.of(project.getRootProject().getProjectDir().getAbsolutePath(), "resources/openapi/yaml");
43+
}
44+
4045
@Override
4146
public void apply(Project target) {
4247
target.getPluginManager().withPlugin(SWAGGER_GRADLE_PLUGIN, appliedPlugin -> {
4348

4449
target.getTasks().register("apiGroups", PrintApiGroupTask.class);
4550

4651
Stream.of(
47-
"io.swagger.core.v3:swagger-jaxrs2-jakarta:%s".formatted(Versions.SWAGGER),
48-
"jakarta.ws.rs:jakarta.ws.rs-api:%s".formatted(Versions.JAKARTA_WS_RS)
52+
"io.swagger.core.v3:swagger-jaxrs2-jakarta:%s".formatted(SWAGGER),
53+
"jakarta.ws.rs:jakarta.ws.rs-api:%s".formatted(JAKARTA_WS_RS)
4954
).forEach(dependency -> target.getDependencies().add(IMPLEMENTATION_CONFIGURATION_NAME, dependency));
5055

51-
var classpath = requireExtension(target, JavaPluginExtension.class)
52-
.getSourceSets().getAt("main").getRuntimeClasspath();
5356
var swaggerExt = requireExtension(target, BuildExtension.class).getSwagger();
5457

5558
var resourcePkgs = swaggerExt.getResourcePackages(); // already provides the default
5659

57-
target.getTasks().withType(ResolveTask.class, task -> {
60+
target.getTasks().withType(ResolveTask.class).configureEach(task -> {
5861
var outputFileName = swaggerExt.getOutputFilename().getOrElse(target.getName());
5962
var fallbackOutputDir = defaultOutputDirectory(target);
6063
var apiGroup = swaggerExt.getApiGroup().getOrElse(DEFAULT_API_GROUP);
6164

6265
var outputDir = Path.of(swaggerExt.getOutputDirectory().getOrElse(fallbackOutputDir.toFile()).toURI())
6366
.resolve(apiGroup)
64-
.toFile();
67+
.toString();
6568

6669
task.setOutputFileName(outputFileName);
6770
task.setOutputDir(outputDir);
6871
task.setOutputFormat(ResolveTask.Format.YAML);
6972
task.setSortOutput(true);
7073
task.setPrettyPrint(true);
71-
task.setClasspath(classpath);
74+
task.setClasspath(getClasspath(target));
7275
task.setBuildClasspath(task.getClasspath());
7376
task.setResourcePackages(resourcePkgs);
7477
});
7578

7679
target.getTasks().register("openapi", ResolveTask.class).configure(task -> {
7780
var outputDir = target.getLayout().getBuildDirectory().getAsFile().get().toPath()
7881
.resolve("docs").resolve("openapi")
79-
.toFile();
82+
.toString();
8083

8184
target.getTasks().findByName("jar").dependsOn(task);
8285
task.setGroup("documentation");
@@ -86,13 +89,16 @@ public void apply(Project target) {
8689
task.setOutputFormat(ResolveTask.Format.YAML);
8790
task.setSortOutput(true);
8891
task.setPrettyPrint(true);
89-
task.setClasspath(classpath);
92+
task.setClasspath(getClasspath(target));
9093
task.setBuildClasspath(task.getClasspath());
9194
task.setResourcePackages(resourcePkgs);
9295
});
9396

94-
target.getConfigurations().all(c -> c.exclude(Map.of("group", "com.fasterxml.jackson.jaxrs",
95-
"module", "jackson-jaxrs-json-provider")));
9697
});
9798
}
99+
100+
private static @NonNull FileCollection getClasspath(Project target) {
101+
return requireExtension(target, JavaPluginExtension.class)
102+
.getSourceSets().getAt("main").getRuntimeClasspath();
103+
}
98104
}

0 commit comments

Comments
 (0)