Skip to content

Commit

Permalink
build: bump swagger dependency and refactor (#178)
Browse files Browse the repository at this point in the history
* build: build swagger deps and refactor

* Update DEPENDENCIES
  • Loading branch information
ndr-brt committed Sep 8, 2023
1 parent 39a5c5c commit 5a251a0
Show file tree
Hide file tree
Showing 8 changed files with 12 additions and 52 deletions.
18 changes: 0 additions & 18 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.11.1, Apache-2.0, approved, CQ23491

Check warning on line 1 in DEPENDENCIES

View workflow job for this annotation

GitHub Actions / check / Dash-Verify-Licenses

Restricted Dependencies found

Some dependencies are marked 'restricted' - please review them
maven/mavencentral/com.fasterxml.jackson.core/jackson-annotations/2.15.2, Apache-2.0, approved, #7947
maven/mavencentral/com.fasterxml.jackson.core/jackson-core/2.15.2, MIT AND Apache-2.0, approved, #7932
maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.11.0, Apache-2.0, approved, CQ23093
maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.11.1, Apache-2.0, approved, CQ23093
maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.13.1, Apache-2.0, approved, #2134
maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.15.2, Apache-2.0, approved, #7934
maven/mavencentral/com.fasterxml.jackson.core/jackson-databind/2.2.3, Apache-2.0 OR (Apache-2.0 AND LGPL-2.1), restricted, clearlydefined
maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.11.1, Apache-2.0, approved, CQ23094
maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.13.1, Apache-2.0, approved, #2566
maven/mavencentral/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.15.2, Apache-2.0, approved, #8802
maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.11.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.15.2, Apache-2.0, approved, #7930
Expand All @@ -19,15 +16,8 @@ maven/mavencentral/com.github.fge/jackson-coreutils/1.8, LGPL-3.0 OR Apache-2.0,
maven/mavencentral/com.github.fge/json-patch/1.6, LGPL-3.0 OR Apache-2.0, restricted, clearlydefined
maven/mavencentral/com.github.fge/msg-simple/1.1, Apache-2.0 OR LGPL-3.0-or-later, approved, #2574
maven/mavencentral/com.github.fge/uri-template/0.9, Apache-2.0 OR LGPL-3.0-or-later, approved, #9668
maven/mavencentral/com.github.java-json-tools/btf/1.3, Apache-2.0 OR LGPL-3.0-or-later, approved, #2721
maven/mavencentral/com.github.java-json-tools/jackson-coreutils-equivalence/1.0, LGPL-3.0 OR Apache-2.0, approved, clearlydefined
maven/mavencentral/com.github.java-json-tools/jackson-coreutils/2.0, Apache-2.0 OR LGPL-3.0-or-later, approved, #2719
maven/mavencentral/com.github.java-json-tools/json-schema-core/1.2.14, Apache-2.0 OR LGPL-3.0-or-later, approved, #2722
maven/mavencentral/com.github.java-json-tools/json-schema-core/1.2.8, Apache-2.0 OR LGPL-3.0-or-later, approved, #2722
maven/mavencentral/com.github.java-json-tools/json-schema-validator/2.2.14, Apache-2.0 OR LGPL-3.0-or-later, approved, CQ20779
maven/mavencentral/com.github.java-json-tools/json-schema-validator/2.2.8, Apache-2.0 OR LGPL-3.0-or-later, approved, CQ20779
maven/mavencentral/com.github.java-json-tools/msg-simple/1.2, Apache-2.0 OR LGPL-3.0-or-later, approved, #2720
maven/mavencentral/com.github.java-json-tools/uri-template/0.10, Apache-2.0 OR LGPL-3.0-only, approved, #2723
maven/mavencentral/com.google.code.findbugs/jsr305/2.0.1, BSD-3-Clause AND CC-BY-2.5 AND LGPL-2.1+, approved, CQ13390
maven/mavencentral/com.google.code.findbugs/jsr305/3.0.1, Apache-2.0, approved, #20
maven/mavencentral/com.google.code.findbugs/jsr305/3.0.2, Apache-2.0, approved, #20
Expand All @@ -36,26 +26,21 @@ maven/mavencentral/com.google.errorprone/error_prone_annotations/2.7.1, Apache-2
maven/mavencentral/com.google.guava/failureaccess/1.0.1, Apache-2.0, approved, CQ22654
maven/mavencentral/com.google.guava/guava/16.0.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.google.guava/guava/27.0.1-android, Apache-2.0, approved, CQ18308
maven/mavencentral/com.google.guava/guava/28.1-android, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.google.guava/guava/28.2-android, Apache-2.0 AND LicenseRef-Public-Domain, approved, CQ22437
maven/mavencentral/com.google.guava/guava/31.0.1-jre, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.google.guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava, Apache-2.0, approved, CQ22657
maven/mavencentral/com.google.j2objc/j2objc-annotations/1.1, Apache-2.0, approved, CQ18765
maven/mavencentral/com.google.j2objc/j2objc-annotations/1.3, Apache-2.0, approved, CQ21195
maven/mavencentral/com.googlecode.libphonenumber/libphonenumber/8.0.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.googlecode.libphonenumber/libphonenumber/8.11.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.puppycrawl.tools/checkstyle/10.0, LGPL-2.1-or-later, approved, #7936
maven/mavencentral/com.rameshkp/openapi-merger-app/1.0.5, Apache-2.0, approved, clearlydefined
maven/mavencentral/com.rameshkp/openapi-merger-gradle-plugin/1.0.5, Apache-2.0, approved, #9669
maven/mavencentral/com.sun.mail/mailapi/1.6.2, CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, clearlydefined
maven/mavencentral/commons-beanutils/commons-beanutils/1.9.4, Apache-2.0, approved, CQ12654
maven/mavencentral/commons-codec/commons-codec/1.9, Apache-2.0, approved, CQ10595
maven/mavencentral/commons-collections/commons-collections/3.2.2, Apache-2.0, approved, CQ10385
maven/mavencentral/commons-io/commons-io/2.4, Apache-1.1, approved, CQ9218
maven/mavencentral/commons-io/commons-io/2.6, Apache-2.0, approved, CQ19090
maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162
maven/mavencentral/gradle.plugin.org.gradle.crypto/checksum/1.4.0, Apache-2.0, approved, #9667
maven/mavencentral/gradle.plugin.org.hidetake/gradle-swagger-generator-plugin/2.19.2, , restricted, clearlydefined
maven/mavencentral/info.picocli/picocli/4.6.3, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.github.gradle-nexus/publish-plugin/1.3.0, , restricted, clearlydefined
maven/mavencentral/io.swagger.core.v3/swagger-annotations/2.1.5, Apache-2.0, approved, clearlydefined
Expand All @@ -81,13 +66,11 @@ maven/mavencentral/javax.el/javax.el-api/3.0.0, CDDL-1.0 or Apache-2.0, approved
maven/mavencentral/javax.mail/mailapi/1.4.3, CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, clearlydefined
maven/mavencentral/javax.validation/validation-api/1.1.0.Final, Apache-2.0, approved, CQ15114
maven/mavencentral/javax.validation/validation-api/2.0.0.Final, Apache-2.0, approved, CQ15302
maven/mavencentral/joda-time/joda-time/2.10.5, Apache-2.0, approved, clearlydefined
maven/mavencentral/joda-time/joda-time/2.9.7, Apache-2.0, approved, CQ11988
maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.14.1, Apache-2.0, approved, #7164
maven/mavencentral/net.bytebuddy/byte-buddy/1.12.10, Apache-2.0 AND BSD-3-Clause, approved, #1811
maven/mavencentral/net.bytebuddy/byte-buddy/1.14.1, Apache-2.0 AND BSD-3-Clause, approved, #7163
maven/mavencentral/net.sf.jopt-simple/jopt-simple/5.0.3, MIT, approved, CQ13174
maven/mavencentral/net.sf.jopt-simple/jopt-simple/5.0.4, MIT, approved, CQ13174
maven/mavencentral/net.sf.saxon/Saxon-HE/10.6, MPL-2.0 AND W3C, approved, #7945
maven/mavencentral/net.steppschuh.markdowngenerator/markdowngenerator/1.3.1.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.antlr/antlr4-runtime/4.9.3, BSD-3-Clause, approved, #322
Expand Down Expand Up @@ -123,7 +106,6 @@ maven/mavencentral/org.junit.platform/junit-platform-commons/1.9.2, EPL-2.0, app
maven/mavencentral/org.junit.platform/junit-platform-engine/1.9.2, EPL-2.0, approved, #3128
maven/mavencentral/org.junit/junit-bom/5.9.2, EPL-2.0, approved, #4711
maven/mavencentral/org.mockito/mockito-core/5.2.0, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #7401
maven/mavencentral/org.mozilla/rhino/1.7.7.2, MPL-2.0 AND BSD-3-Clause AND ISC, approved, CQ16320
maven/mavencentral/org.mozilla/rhino/1.7R4, MPL-2.0 AND BSD-3-Clause AND ISC, approved, CQ16320
maven/mavencentral/org.objenesis/objenesis/3.3, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.opentest4j/opentest4j/1.2.0, Apache-2.0, approved, clearlydefined
Expand Down
3 changes: 0 additions & 3 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ repositories {
dependencies {
implementation(libs.plugin.nexus.publish)
implementation(libs.plugin.checksum)
implementation(libs.plugin.swagger.generator)
implementation(libs.plugin.swagger)
implementation(libs.plugin.openapi.merger)
implementation(libs.plugin.openapi.merger.app)
Expand Down Expand Up @@ -54,5 +53,3 @@ sourceSets {
}
}
}


1 change: 0 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ plugin-nexus-publish = { module = "io.github.gradle-nexus:publish-plugin", versi
plugin-openapi-merger = { module = "com.rameshkp:openapi-merger-gradle-plugin", version = "1.0.5" }
plugin-openapi-merger-app = { module = "com.rameshkp:openapi-merger-app", version = "1.0.5" }
plugin-swagger = { module = "io.swagger.core.v3:swagger-gradle-plugin", version = "2.2.15" }
plugin-swagger-generator = { module = "gradle.plugin.org.hidetake:gradle-swagger-generator-plugin", version = "2.19.2" }

# third party
markdown-gen = { module = "net.steppschuh.markdowngenerator:markdowngenerator", version = "1.3.1.1" }
Expand Down
1 change: 0 additions & 1 deletion plugins/edc-build/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ dependencies {
implementation(libs.edc.runtime.metamodel)
implementation(libs.plugin.nexus.publish)
implementation(libs.plugin.checksum)
implementation(libs.plugin.swagger.generator)
implementation(libs.plugin.swagger)
implementation(libs.plugin.openapi.merger)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public static EdcConvention swagger() {
}

public static EdcConvention swaggerGenerator() {
return new SwaggerGeneratorConvention();
return new SwaggerResolveConvention();
}

public static EdcConvention openApiMerger() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
/**
* Wrapper convention for the swagger generator and the openapi merger.
*
* @see SwaggerGeneratorConvention
* @see SwaggerResolveConvention
* @see OpenApiMergerConvention
*/
class SwaggerConvention implements EdcConvention {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,39 +18,30 @@
import org.eclipse.edc.plugins.edcbuild.extensions.BuildExtension;
import org.eclipse.edc.plugins.edcbuild.tasks.PrintApiGroupTask;
import org.gradle.api.Project;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension;
import org.hidetake.gradle.swagger.generator.SwaggerGeneratorPlugin;

import java.nio.file.Path;
import java.util.Map;

import static org.eclipse.edc.plugins.edcbuild.conventions.ConventionFunctions.requireExtension;
import static org.eclipse.edc.plugins.edcbuild.conventions.SwaggerConvention.defaultOutputDirectory;
import static org.gradle.api.plugins.JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME;

/**
* Congfigures the Swagger Generator to create openapi yaml file per project
* Configures the Swagger Resolve task to create openapi yaml file per project
*/
class SwaggerGeneratorConvention implements EdcConvention {
class SwaggerResolveConvention implements EdcConvention {

private static final String DEFAULT_API_GROUP = "";

@Override
public void apply(Project target) {
// apply root script plugin
if (target == target.getRootProject()) {
target.getPlugins().apply(SwaggerGeneratorPlugin.class);
}

target.getPluginManager().withPlugin("io.swagger.core.v3.swagger-gradle-plugin", appliedPlugin -> {

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

target.getDependencies().add(JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME,
"io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.2");
target.getDependencies().add(JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME,
"jakarta.ws.rs:jakarta.ws.rs-api:3.1.0");

target.getDependencies().add(IMPLEMENTATION_CONFIGURATION_NAME, "io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.15");
target.getDependencies().add(IMPLEMENTATION_CONFIGURATION_NAME, "jakarta.ws.rs:jakarta.ws.rs-api:3.1.0");

var javaExt = requireExtension(target, JavaPluginExtension.class);
var swaggerExt = requireExtension(target, BuildExtension.class).getSwagger();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,14 @@
import org.gradle.api.Project;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.testfixtures.ProjectBuilder;
import org.hidetake.gradle.swagger.generator.SwaggerGeneratorPlugin;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.io.File;

import static org.assertj.core.api.Assertions.assertThat;

class SwaggerGeneratorConventionTest {

class SwaggerResolveConventionTest {

private static final String PROJECT_NAME = "testproject";
private Project project;
Expand All @@ -43,11 +41,9 @@ void setUp() {

@Test
void apply_whenApiGroupNotSpecified_shouldUseDefault() {
var convention = new SwaggerGeneratorConvention();
var convention = new SwaggerResolveConvention();
convention.apply(project);

assertThat(project.getPlugins().findPlugin(SwaggerGeneratorPlugin.class)).isNotNull();

var resolveTask = (ResolveTask) project.getTasks().getByName("resolve");

assertThat(resolveTask.getOutputDir().getPath()).endsWith("/resources/openapi/yaml");
Expand All @@ -59,11 +55,9 @@ void apply_whenApiGroupNotSpecified_shouldUseDefault() {
void apply_whenApiGroupSpecified_shouldAppend() {
var swagger = ConventionFunctions.requireExtension(project, BuildExtension.class).getSwagger();
swagger.getApiGroup().set("test-api");
var convention = new SwaggerGeneratorConvention();
var convention = new SwaggerResolveConvention();
convention.apply(project);

assertThat(project.getPlugins().findPlugin(SwaggerGeneratorPlugin.class)).isNotNull();

var resolveTask = (ResolveTask) project.getTasks().getByName("resolve");

assertThat(resolveTask.getOutputDir().getPath()).endsWith("/resources/openapi/yaml/test-api");
Expand All @@ -76,15 +70,13 @@ void apply_whenOutputDirSet_shouldAppend() {
var swagger = ConventionFunctions.requireExtension(project, BuildExtension.class).getSwagger();
swagger.getApiGroup().set("test-api");
swagger.getOutputDirectory().set(new File("some/funny/path"));
var convention = new SwaggerGeneratorConvention();
var convention = new SwaggerResolveConvention();
convention.apply(project);

assertThat(project.getPlugins().findPlugin(SwaggerGeneratorPlugin.class)).isNotNull();

var resolveTask = (ResolveTask) project.getTasks().getByName("resolve");

assertThat(resolveTask.getOutputDir().getPath()).endsWith("/some/funny/path/test-api");
assertThat(resolveTask.getOutputFileName()).isEqualTo(PROJECT_NAME);
assertThat(resolveTask.getOutputFormat()).isEqualTo(ResolveTask.Format.YAML);
}
}
}

0 comments on commit 5a251a0

Please sign in to comment.