From 8bd3ebf33ce15d886ee295cfa3760b4140113339 Mon Sep 17 00:00:00 2001 From: Daniel Kmiecik Date: Tue, 15 Sep 2026 12:44:48 +0200 Subject: [PATCH 1/2] chore: remove unused modules after migration to Jakarta --- modules/swagger-bom-integration-test/pom.xml | 48 -- modules/swagger-bom/pom.xml | 41 -- .../README.md | 6 - .../pom.xml | 160 ------ .../v3/oas/transformer/TransformMojo.java | 272 --------- .../pom.xml | 189 ------- .../SwaggerServletInitializer.java | 60 -- .../javax.servlet.ServletContainerInitializer | 1 - modules/swagger-maven-plugin/pom.xml | 19 - modules/swagger-project-jakarta/.gitignore | 18 - .../swagger-annotations-jakarta/pom.xml | 74 --- .../modules/swagger-core-jakarta/pom.xml | 135 ----- .../swagger-integration-jakarta/pom.xml | 95 ---- .../modules/swagger-jaxrs2-jakarta/pom.xml | 138 ----- .../pom.xml | 105 ---- .../pom.xml | 105 ---- .../swagger-maven-plugin-jakarta/pom.xml | 248 --------- .../maven/jakarta/JakartaTransformer.java | 365 ------------- .../transformed/README.md | 3 - .../modules/swagger-models-jakarta/pom.xml | 81 --- modules/swagger-project-jakarta/pom.xml | 517 ------------------ pom.xml | 5 +- 22 files changed, 1 insertion(+), 2684 deletions(-) delete mode 100644 modules/swagger-eclipse-transformer-maven-plugin/README.md delete mode 100644 modules/swagger-eclipse-transformer-maven-plugin/pom.xml delete mode 100644 modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java delete mode 100644 modules/swagger-jaxrs2-servlet-initializer/pom.xml delete mode 100644 modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java delete mode 100644 modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer delete mode 100644 modules/swagger-project-jakarta/.gitignore delete mode 100644 modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java delete mode 100644 modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md delete mode 100644 modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml delete mode 100644 modules/swagger-project-jakarta/pom.xml diff --git a/modules/swagger-bom-integration-test/pom.xml b/modules/swagger-bom-integration-test/pom.xml index fdedcfe463..f060a22e33 100644 --- a/modules/swagger-bom-integration-test/pom.xml +++ b/modules/swagger-bom-integration-test/pom.xml @@ -38,7 +38,6 @@ Maven will fail if the BOM does not provide a version for any of these entries. --> - io.swagger.core.v3 swagger-annotations @@ -59,43 +58,10 @@ io.swagger.core.v3 swagger-jaxrs2 - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - io.swagger.core.v3 swagger-jaxrs2-servlet-initializer-v2 - - - io.swagger.core.v3 - swagger-annotations-jakarta - - - io.swagger.core.v3 - swagger-models-jakarta - - - io.swagger.core.v3 - swagger-core-jakarta - - - io.swagger.core.v3 - swagger-integration-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta - @@ -105,20 +71,6 @@ fast if any managed artifact cannot be downloaded or is missing from the local repository after a full reactor install. --> - - - org.apache.maven.plugins - maven-enforcer-plugin - - - enforce-versions - - true - - - - org.apache.maven.plugins maven-dependency-plugin diff --git a/modules/swagger-bom/pom.xml b/modules/swagger-bom/pom.xml index 7b3a884629..348bbea4df 100644 --- a/modules/swagger-bom/pom.xml +++ b/modules/swagger-bom/pom.xml @@ -120,52 +120,11 @@ swagger-jaxrs2 ${project.version} - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - ${project.version} - io.swagger.core.v3 swagger-jaxrs2-servlet-initializer-v2 ${project.version} - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-core-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-integration-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta - ${project.version} - diff --git a/modules/swagger-eclipse-transformer-maven-plugin/README.md b/modules/swagger-eclipse-transformer-maven-plugin/README.md deleted file mode 100644 index 51bf0a7e78..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Adapted from https://github.com/eclipse/transformer/blob/main/org.eclipse.transformer.maven -not to add the transformed JAR as an attached artifact to the project. - -To be replaced with Eclipse original Transformer plugin when/if optional attachment is supported. - - diff --git a/modules/swagger-eclipse-transformer-maven-plugin/pom.xml b/modules/swagger-eclipse-transformer-maven-plugin/pom.xml deleted file mode 100644 index dce1afd077..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/pom.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - io.swagger.core.v3 - swagger-project - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-eclipse-transformer-maven-plugin - swagger-eclipse-transformer-maven-plugin - swagger-eclipse-transformer-maven-plugin - maven-plugin - - 3.9.14 - 0.20 - 3.3.0 - 1.2.6 - 3.18.1 - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.5.1 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.15.2 - - transform - - - - - - - org.eclipse.transformer - org.eclipse.transformer.cli - 0.2.0 - - - javax.inject - javax.inject - 1 - - compile - - - org.apache.maven - maven-plugin-api - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-classworlds - - - - - org.apache.maven - maven-core - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.15.1 - provided - - - org.apache.maven - maven-artifact - - - - - org.codehaus.plexus - plexus-archiver - 4.10.0 - test - - - org.codehaus.plexus - plexus-utils - - - org.apache.commons - commons-compress - - - - - org.codehaus.plexus - plexus-utils - 4.0.3 - - - org.codehaus.plexus - plexus-component-annotations - 2.2.0 - - - org.apache.maven - maven-model - ${maven.target.version} - provided - - - commons-cli - commons-cli - 1.11.0 - - - org.apache.maven - maven-artifact - ${maven.target.version} - provided - - - org.apache.maven - maven-compat - ${maven.target.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - diff --git a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java b/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java deleted file mode 100644 index 667f320168..0000000000 --- a/modules/swagger-eclipse-transformer-maven-plugin/src/main/java/io/swagger/v3/oas/transformer/TransformMojo.java +++ /dev/null @@ -1,272 +0,0 @@ -package io.swagger.v3.oas.transformer; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectHelper; -import org.eclipse.transformer.Transformer; -import org.eclipse.transformer.jakarta.JakartaTransformer; - -/** - * - * Adapted from https://github.com/eclipse/transformer/blob/main/org.eclipse.transformer.maven - * not to add the transformed JAR as an attached artifact to the project. - * - * To be replaced with Eclipse original Transformer plugin when/if optional attachment is supported. - * - * This is a Maven plugin which runs the Eclipse Transformer on build artifacts - * as part of the build. - */ -@Mojo(name = "run", requiresDependencyResolution = ResolutionScope.RUNTIME_PLUS_SYSTEM, defaultPhase = LifecyclePhase.PACKAGE, requiresProject = true, threadSafe = true) -public class TransformMojo extends AbstractMojo { - - @Parameter(defaultValue = "${project}", readonly = true, required = true) - private MavenProject project; - - @Parameter(defaultValue = "false", property = "transformer-plugin.invert", required = true) - private Boolean invert; - - @Parameter(defaultValue = "true", property = "transformer-plugin.overwrite", required = true) - private Boolean overwrite; - - @Parameter(property = "transformer-plugin.renames", defaultValue = "") - private String rulesRenamesUri; - - @Parameter(property = "transformer-plugin.versions", defaultValue = "") - private String rulesVersionUri; - - @Parameter(property = "transformer-plugin.bundles", defaultValue = "") - private String rulesBundlesUri; - - @Parameter(property = "transformer-plugin.direct", defaultValue = "") - private String rulesDirectUri; - - @Parameter(property = "transformer-plugin.per-class-constant", defaultValue = "") - private String rulesPerClassConstantUri; - - @Parameter(property = "transformer-plugin.xml", defaultValue = "") - private String rulesXmlsUri; - - @Parameter(defaultValue = "transformed") - private String classifier; - - private static final int MAX_LOG_BUFFER_SIZE = 16 * 1024; - - @Parameter(defaultValue = "${project.build.directory}", required = true) - private File outputDirectory; - - @Parameter(defaultValue = "true", property = "transformer-plugin.attach", required = true) - private Boolean attach; - - @Component - private MavenProjectHelper projectHelper; - - /** - * Main execution point of the plugin. This looks at the attached artifacts, - * and runs the transformer on them. - * - * @throws MojoFailureException Thrown if there is an error during plugin - * execution - */ - @Override - public void execute() throws MojoFailureException { - final Transformer transformer = getTransformer(); - - final Artifact[] sourceArtifacts = getSourceArtifacts(); - for (final Artifact sourceArtifact : sourceArtifacts) { - transform(transformer, sourceArtifact); - } - } - - /** - * This runs the transformation process on the source artifact with the - * transformer provided. The transformed artifact is attached to the - * project. - * - * @param transformer The Transformer to use for the transformation - * @param sourceArtifact The Artifact to transform - * @throws MojoFailureException if plugin execution fails - */ - public void transform(final Transformer transformer, final Artifact sourceArtifact) throws MojoFailureException { - - final String sourceClassifier = sourceArtifact.getClassifier(); - final String targetClassifier = (sourceClassifier == null || sourceClassifier.length() == 0) ? this.classifier - : sourceClassifier + "-" + this.classifier; - - final File targetFile = new File(outputDirectory, sourceArtifact.getArtifactId() + "-" + targetClassifier + "-" - + sourceArtifact.getVersion() + "." + sourceArtifact.getType()); - - final List args = new ArrayList<>(); - args.add(sourceArtifact.getFile() - .getAbsolutePath()); - args.add(targetFile.getAbsolutePath()); - - if (this.overwrite) { - args.add("-o"); - } - - transformer.setArgs(args.toArray(new String[0])); - int rc = transformer.run(); - - if (rc != 0) { - throw new MojoFailureException("Transformer failed with an error: " + Transformer.RC_DESCRIPTIONS[rc]); - } - - if (attach) { - projectHelper.attachArtifact(project, sourceArtifact.getType(), targetClassifier, targetFile); - } - } - - /** - * Builds a configured transformer for the specified source and target - * artifacts - * - * @return A configured transformer - */ - public Transformer getTransformer() { - final Transformer transformer = new Transformer( - createLoggingPrintStream(getLog()::info), - createLoggingPrintStream(getLog()::error)); - transformer.setOptionDefaults(JakartaTransformer.class, getOptionDefaults()); - return transformer; - } - - /** - * Gets the source artifacts that should be transformed - * - * @return an array to artifacts to be transformed - */ - public Artifact[] getSourceArtifacts() { - List artifactList = new ArrayList<>(); - if (project.getArtifact() != null && project.getArtifact() - .getFile() != null) { - artifactList.add(project.getArtifact()); - } - - for (final Artifact attachedArtifact : project.getAttachedArtifacts()) { - if (attachedArtifact.getFile() != null) { - artifactList.add(attachedArtifact); - } - } - - return artifactList.toArray(new Artifact[0]); - } - - private Map getOptionDefaults() { - Map optionDefaults = new HashMap<>(); - optionDefaults.put(Transformer.AppOption.RULES_RENAMES, - isEmpty(rulesRenamesUri) ? "jakarta-renames.properties" : rulesRenamesUri); - optionDefaults.put(Transformer.AppOption.RULES_VERSIONS, - isEmpty(rulesVersionUri) ? "jakarta-versions.properties" : rulesVersionUri); - optionDefaults.put(Transformer.AppOption.RULES_BUNDLES, - isEmpty(rulesBundlesUri) ? "jakarta-bundles.properties" : rulesBundlesUri); - optionDefaults.put(Transformer.AppOption.RULES_DIRECT, - isEmpty(rulesDirectUri) ? "jakarta-direct.properties" : rulesDirectUri); - optionDefaults.put(Transformer.AppOption.RULES_MASTER_TEXT, - isEmpty(rulesXmlsUri) ? "jakarta-text-master.properties" : rulesXmlsUri); - optionDefaults.put(Transformer.AppOption.RULES_PER_CLASS_CONSTANT, - isEmpty(rulesPerClassConstantUri) ? "jakarta-per-class-constant-master.properties" : rulesPerClassConstantUri); - return optionDefaults; - } - - private PrintStream createLoggingPrintStream(Consumer logConsumer) { - try { - return new PrintStream(new LoggingOutputStream(logConsumer, MAX_LOG_BUFFER_SIZE), true, StandardCharsets.UTF_8.name()); - } catch (UnsupportedEncodingException e) { - throw new IllegalStateException("UTF-8 encoding is not supported", e); - } - } - - private static final class LoggingOutputStream extends OutputStream { - private final Consumer logConsumer; - private final ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - private final int maxBufferSize; - - private LoggingOutputStream(Consumer logConsumer, int maxBufferSize) { - this.logConsumer = logConsumer; - this.maxBufferSize = maxBufferSize > 0 ? maxBufferSize : Integer.MAX_VALUE; - } - - @Override - public void write(int b) { - if (b == '\n') { - flushBuffer(); - } else if (b != '\r') { - buffer.write(b); - if (buffer.size() >= this.maxBufferSize) { - flushBuffer(); - } - } - } - - @Override - public void flush() { - flushBuffer(); - } - - @Override - public void close() throws IOException { - flushBuffer(); - } - - private void flushBuffer() { - if (buffer.size() == 0) { - return; - } - logConsumer.accept(new String(buffer.toByteArray(), StandardCharsets.UTF_8)); - buffer.reset(); - } - } - - private boolean isEmpty(final String input) { - return input == null || input.trim() - .length() == 0; - } - - void setProject(MavenProject project) { - this.project = project; - } - - void setClassifier(String classifier) { - this.classifier = classifier; - } - - MavenProjectHelper getProjectHelper() { - return projectHelper; - } - - void setProjectHelper(MavenProjectHelper projectHelper) { - this.projectHelper = projectHelper; - } - - void setOverwrite(Boolean overwrite) { - this.overwrite = overwrite; - } - - void setOutputDirectory(File outputDirectory) { - this.outputDirectory = outputDirectory; - } - - void setAttach(Boolean attach) { - this.attach = attach; - } -} diff --git a/modules/swagger-jaxrs2-servlet-initializer/pom.xml b/modules/swagger-jaxrs2-servlet-initializer/pom.xml deleted file mode 100644 index 16dcd648e5..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer/pom.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - swagger-project - io.swagger.core.v3 - 3.0.0-SNAPSHOT - ../../ - - 4.0.0 - swagger-jaxrs2-servlet-initializer - swagger-jaxrs2-servlet-initializer - swagger-servlet-initializer - - src/main/java - install - - - src/test/resources - - - - - biz.aQute.bnd - bnd-maven-plugin - - - Export-Package: io.swagger.v3.jaxrs2.integration - - - - - org.apache.maven.plugins - maven-jar-plugin - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - io.swagger.v3.jaxrs2.integration - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - jetty.port - jetty.port.stop - - - - - reserve-port - pre-integration-test - - reserve-network-port - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${failsafe-plugin-version} - - - - integration-test - verify - - - - ${jetty.port} - - - - - - - org.eclipse.jetty - jetty-maven-plugin - - 10 - ${jetty.port} - a - ${jetty.port.stop} - true - ${project.basedir}/src/test/webapp - - - - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} - - - - - start-jetty - pre-integration-test - - start - - - 0 - - - - stop-jetty - post-integration-test - - stop - - - - - - - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - io.swagger.core.v3 - swagger-jaxrs2 - ${project.version} - provided - - - org.testng - testng - test - - - io.rest-assured - rest-assured - test - - - javax.xml.bind - jaxb-api - - - org.apache.httpcomponents - httpmime - - - - - org.mockito - mockito-core - test - - - org.glassfish.jersey.core - jersey-server - ${jersey2-version} - test - - - org.javassist - javassist - - - - - diff --git a/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java b/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java deleted file mode 100644 index 3f269cfe6a..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer/src/main/java/io/swagger/v3/jaxrs2/integration/SwaggerServletInitializer.java +++ /dev/null @@ -1,60 +0,0 @@ -package io.swagger.v3.jaxrs2.integration; - -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.Webhooks; -import io.swagger.v3.oas.integration.IgnoredPackages; -import io.swagger.v3.oas.integration.OpenApiConfigurationException; -import io.swagger.v3.oas.integration.SwaggerConfiguration; - -import javax.servlet.ServletContainerInitializer; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.annotation.HandlesTypes; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.Path; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * deprecated since 2.1.2. Please use io.swagger.v3.jaxrs2.integration.SwaggerServletInitializer in - * swagger-jaxrs2-servlet-initializer-v2 - */ -@Deprecated -@HandlesTypes({Path.class, OpenAPIDefinition.class, ApplicationPath.class, Webhooks.class}) -public class SwaggerServletInitializer implements ServletContainerInitializer { - - static final Set ignored = new HashSet(); - - static { - ignored.addAll(IgnoredPackages.ignored); - } - - public SwaggerServletInitializer() { - } - - @Override - public void onStartup(Set> classes, ServletContext servletContext) throws ServletException { - if (classes != null && ! classes.isEmpty()) { - Set> resources = new LinkedHashSet(); - classes.stream() - .filter(c -> ignored.stream().noneMatch(i -> c.getName().startsWith(i))) - .forEach(resources::add); - if (!resources.isEmpty()) { - // init context - try { - SwaggerConfiguration oasConfig = new SwaggerConfiguration() - .resourceClasses(resources.stream().map(Class::getName).collect(Collectors.toSet())); - - new JaxrsOpenApiContextBuilder() - .openApiConfiguration(oasConfig) - .buildContext(true); - } catch (OpenApiConfigurationException e) { - throw new RuntimeException(e.getMessage(), e); - } - } - } - } - -} diff --git a/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer deleted file mode 100644 index 97230a2efb..0000000000 --- a/modules/swagger-jaxrs2-servlet-initializer/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer +++ /dev/null @@ -1 +0,0 @@ -io.swagger.v3.jaxrs2.integration.SwaggerServletInitializer \ No newline at end of file diff --git a/modules/swagger-maven-plugin/pom.xml b/modules/swagger-maven-plugin/pom.xml index 351957e631..539d278837 100644 --- a/modules/swagger-maven-plugin/pom.xml +++ b/modules/swagger-maven-plugin/pom.xml @@ -31,25 +31,6 @@ maven-plugin-plugin 3.15.2 - - io.swagger.core.v3 - swagger-eclipse-transformer-maven-plugin - ${project.version} - - false - jakarta - ${project.basedir}/../swagger-project-jakarta/modules/${project.artifactId}-jakarta/transformed - - - - transform-jakarta - - run - - package - - - diff --git a/modules/swagger-project-jakarta/.gitignore b/modules/swagger-project-jakarta/.gitignore deleted file mode 100644 index d5ece13ddc..0000000000 --- a/modules/swagger-project-jakarta/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -build/ -lib/*.jar -target -.idea -.idea_modules -.settings -.project -.classpath -.cache -atlassian-ide-plugin.xml -*.iml -.java-version -sonar-project.properties -test-output/ -*.pyc -**/transformed/*.jar -**/transformed/*.test-jar -**/transformed/*.maven-plugin diff --git a/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml deleted file mode 100644 index 2d7b4ecf52..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-annotations-jakarta/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-annotations-jakarta - swagger-annotations-jakarta - swagger-annotations-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-annotations - ${project.version} - sources - - - - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml deleted file mode 100644 index 3d65e4461e..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-core-jakarta/pom.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-core-jakarta - swagger-core-jakarta - swagger-core-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-core - ${project.version} - sources - - - - - - - - - - - org.apache.commons - commons-lang3 - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - commons-io - commons-io - - - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.parent.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.parent.version} - - - jakarta.xml.bind - jakarta.xml.bind-api - - - jakarta.validation - jakarta.validation-api - - - - - com.fasterxml.jackson.core - jackson-annotations - - - tools.jackson.core - jackson-databind - ${jackson-version} - - - tools.jackson.dataformat - jackson-dataformat-yaml - ${jackson-version} - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml deleted file mode 100644 index 8273678608..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-integration-jakarta/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-integration-jakarta - swagger-integration-jakarta - swagger-integration-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-integration - ${project.version} - sources - - - - - - - - - - - io.github.classgraph - classgraph - - - - io.swagger.core.v3 - swagger-core-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml deleted file mode 100644 index 102e8d11c5..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-jakarta/pom.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-jakarta - swagger-jaxrs2-jakarta - swagger-jaxrs2-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2 - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - io.github.classgraph - classgraph - - - org.javassist - javassist - 3.30.2-GA - - - commons-io - commons-io - - - - io.swagger.core.v3 - swagger-models-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-annotations-jakarta - ${project.version} - - - io.swagger.core.v3 - swagger-integration-jakarta - ${project.version} - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - - tools.jackson.core - jackson-databind - ${jackson-version} - - - tools.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - ${jackson-version} - - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml deleted file mode 100644 index 4a2c6c4f5e..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-jakarta/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-servlet-initializer-jakarta - swagger-jaxrs2-servlet-initializer-jakarta - swagger-jaxrs2-servlet-initializer-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - provided - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml deleted file mode 100644 index c5ba14c7cf..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-jaxrs2-servlet-initializer-v2-jakarta/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-jaxrs2-servlet-initializer-v2-jakarta - swagger-jaxrs2-servlet-initializer-v2-jakarta - swagger-jaxrs2-servlet-initializer-v2-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-jaxrs2-servlet-initializer-v2 - ${project.version} - sources - - - - - - - - - - - ch.qos.logback - logback-classic - provided - - - ch.qos.logback - logback-core - provided - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - provided - - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml deleted file mode 100644 index aaf2b4ec7e..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/pom.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-maven-plugin-jakarta - maven-plugin - swagger-maven-plugin-jakarta - swagger-maven-plugin-jakarta - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.11.0 - - - get-original-artifacts - generate-resources - - copy - - - - - - io.swagger.core.v3 - swagger-maven-plugin - ${project.version} - sources - jar - ${project.build.directory} - ${project.artifactId}-${project.version}-sources.jar - - - - io.swagger.core.v3 - swagger-maven-plugin - ${project.version} - javadoc - jar - ${project.build.directory} - ${project.artifactId}-${project.version}-javadoc.jar - - - - - - - - com.coderplus.maven.plugins - copy-rename-maven-plugin - 1.0.1 - - - copy-file - compile - - rename - - - true - true - ${project.basedir}/transformed/${project.artifactId}-${project.version}.maven-plugin - ${project.basedir}/transformed/${project.artifactId}-${project.version}.jar - - - - - - maven-resources-plugin - - 3.1.0 - - - copy-resources - package - - copy-resources - - - ${project.build.directory} - true - - - transformed - false - - ${project.artifactId}-${project.version}.jar - - - - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - package - - java - - - io.swagger.v3.plugin.maven.jakarta.JakartaTransformer - - ${project.build.directory}/${project.artifactId}-${project.version}.jar - ${project.build.directory}/transformertemp - ${jakarta.ws-version} - ${jakarta.activation-api-version} - ${jackson-version} - - - - - - - org.apache.maven.plugins - maven-plugin-plugin - 3.15.2 - - - true - swagger - - - - mojo-descriptor - - descriptor - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - attach-artifacts - package - - attach-artifact - - - - - ${project.build.directory}/${project.artifactId}-${project.version}-sources.jar - jar - sources - - - ${project.build.directory}/${project.artifactId}-${project.version}-javadoc.jar - jar - javadoc - - - - - - - - - - - - org.apache.maven - maven-plugin-api - ${maven.version} - provided - - - org.codehaus.plexus - plexus-utils - - - org.codehaus.plexus - plexus-component-annotations - - - org.codehaus.plexus - plexus-classworlds - - - - - org.apache.maven - maven-core - ${maven.version} - provided - - - org.codehaus.plexus - plexus-utils - - - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.15.1 - provided - - - org.apache.maven - maven-artifact - - - - - org.apache.commons - commons-lang3 - ${commons-lang-version} - - - org.codehaus.plexus - plexus-utils - 3.6.1 - - - org.codehaus.plexus - plexus-component-annotations - 2.2.0 - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - ${project.version} - - - - - - UTF-8 - 3.9.16 - - diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java deleted file mode 100644 index 1a6b97b712..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/src/main/java/io/swagger/v3/plugin/maven/jakarta/JakartaTransformer.java +++ /dev/null @@ -1,365 +0,0 @@ -package io.swagger.v3.plugin.maven.jakarta; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.net.URI; -import java.nio.file.CopyOption; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.FileVisitResult; -import java.nio.file.Files; -import java.nio.file.LinkOption; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.SimpleFileVisitor; -import java.nio.file.StandardCopyOption; -import java.nio.file.attribute.BasicFileAttributes; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; - -/** - * Transforms swagger-maven-plugin jar file to be used with Jakarta namespace using artifactId swagger-maven-plugin-jakarta - * - */ -public class JakartaTransformer { - - private static final Logger LOGGER = LoggerFactory.getLogger(JakartaTransformer.class); - - - /* - * Substitution tokens + regex - */ - private static Set files = - Stream.of( - // "META-INF/MANIFEST.MF", - "META-INF/maven/plugin.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/plugin-help.xml", - // "META-INF/plexus/components.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/pom.xml", - "META-INF/maven/io.swagger.core.v3/swagger-maven-plugin/pom.properties") - .collect(Collectors.toCollection(HashSet::new)); - - private static final String jakartaXmlBindDep = "\n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " VERSION\n" + - " \n"; - - private static final String jakartaXmlBindRegex = "^.*(.*jakarta\\.xml\\.bind((?!).)*).*$"; - - private static final String jakartaValidationDep = "\n" + - " jakarta.validation\n" + - " jakarta.validation-api\n" + - " VERSION\n" + - " \n"; - - private static final String jakartaValidationRegex = "^.*(.*jakarta\\.validation((?!).)*).*$"; - - private static final String jacksonJsonDep = "\n" + - " tools.jackson.jakarta.rs\n" + - " jackson-jakarta-rs-json-provider\n" + - " VERSION\n" + - " \n" + - " \n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " \n" + - " \n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " \n" + - " \n" + - " "; - - private static final String jacksonJsonRegex = "^.*(.*jackson\\-jaxrs\\-json((?!).)*).*$"; - - private static final String jacksonBaseDep = "\n" + - " tools.jackson.jakarta.rs\n" + - " jackson-jakarta-rs-base\n" + - " VERSION\n" + - " "; - - private static final String jacksonBaseRegex = "^.*(.*jackson\\-jaxrs\\-base((?!).)*).*$"; - - private static final String jacksonJaxbDep = "\n" + - " tools.jackson.module\n" + - " jackson-module-jakarta-xmlbind-annotations\n" + - " VERSION\n" + - " \n" + - " \n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " \n" + - " \n" + - " jakarta.xml.bind\n" + - " jakarta.xml.bind-api\n" + - " \n" + - " \n" + - " com.sun.activation\n" + - " jakarta.activation\n" + - " " + - " \n" + - " "; - - private static final String jacksonJaxbRegex = "^.*(.*jackson\\-module\\-jaxb((?!).)*).*$"; - - private static final String jakartaActivationDep = "\n" + - " jakarta.activation\n" + - " jakarta.activation-api\n" + - " VERSION\n" + - " "; - - private static final String jakartaActivationRegex = "^.*(.*jakarta\\.activation((?!).)*).*$"; - - /** - * - * Extracts Jar into temp directory - * - */ - private static void extract(String inPath, String outPath) throws Exception { - - Path target = Paths.get(outPath); - Path source = Paths.get(inPath); - - try (ZipInputStream zis = new ZipInputStream(new FileInputStream(source.toFile()))) { - ZipEntry zipEntry = zis.getNextEntry(); - - while (zipEntry != null) { - Path path = target.resolve(zipEntry.getName()).normalize(); - - if (!path.startsWith(target + File.separator)) { - throw new IOException("Entry is outside of the target dir: " + zipEntry.getName()); - } - - if (zipEntry.isDirectory()) { - if (!Files.isDirectory(path)) { - Files.createDirectories(path); - } - } else { - // fix for Windows-created archives - Path parent = path.getParent(); - if (!Files.isDirectory(parent)) { - Files.createDirectories(parent); - } - - // write file content - try (OutputStream os = Files.newOutputStream(path)) { - byte[] buffer = new byte[1024]; - int len; - while ((len = zis.read(buffer)) > 0) { - os.write(buffer, 0, len); - } - } - } - zipEntry = zis.getNextEntry(); - } - zis.closeEntry(); - } - } - - /** - * - * Compress temp directory back into Jar after transformed - * - */ - public static void jar(Path sourcePath, String outJarPath) throws IOException { - - URI uri = URI.create("jar:" + Paths.get(outJarPath).normalize().toUri()); - - Files.walkFileTree(sourcePath, new SimpleFileVisitor() { - @Override - public FileVisitResult visitFile(Path file, - BasicFileAttributes attributes) { - - if (attributes.isSymbolicLink()) { - return FileVisitResult.CONTINUE; - } - - Map env = new HashMap<>(); - env.put("create", "true"); - - try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) { - - Path targetFile = sourcePath.relativize(file); - Path pathInZipfile = zipfs.getPath(targetFile.toString()); - - if (pathInZipfile.getParent() != null) { - Files.createDirectories(pathInZipfile.getParent()); - } - - CopyOption[] options = { - StandardCopyOption.REPLACE_EXISTING, - StandardCopyOption.COPY_ATTRIBUTES, - LinkOption.NOFOLLOW_LINKS - }; - Files.copy(file, pathInZipfile, options); - - } catch (IOException e) { - LOGGER.error("Error copying file '{}' into ZIP filesystem", file, e); - } - - return FileVisitResult.CONTINUE; - } - - @Override - public FileVisitResult visitFileFailed(Path file, IOException exc) { - // - return FileVisitResult.CONTINUE; - } - - }); - - } - - /** - * - * Replaces swagger artifact adding `-jakarta` suffix - * - */ - private static void replaceInJar(String filePath) throws Exception { - try (FileInputStream fis = new FileInputStream(filePath); - BufferedInputStream bis = new BufferedInputStream(fis); - ZipInputStream zis = new ZipInputStream(bis); - ZipOutputStream out = new ZipOutputStream(new FileOutputStream(filePath + ".jar"))) { - - for (ZipEntry zipEntry; (zipEntry = zis.getNextEntry()) != null; ) { - out.putNextEntry(new ZipEntry(zipEntry.getName())); - - if (files.contains(zipEntry.getName())) { - BufferedReader reader = new BufferedReader(new InputStreamReader(zis)); - PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out))); - for (String line; (line = reader.readLine()) != null; ) { - line = line.replace("swagger-maven-plugin", "swagger-maven-plugin-jakarta"); - line = line.replace("swagger-project", "swagger-project-jakarta"); - line = line.replace("swagger-jaxrs2", "swagger-jaxrs2-jakarta"); - line = line.replace("swagger-models", "swagger-models-jakarta"); - line = line.replace("swagger-annotations", "swagger-annotations-jakarta"); - line = line.replace("swagger-core", "swagger-core-jakarta"); - line = line.replace("swagger-integration", "swagger-integration-jakarta"); - writer.println(line); - } - writer.flush(); - } else { - byte[] buf = new byte[8192]; - int length; - while ((length = zis.read(buf)) > 0) { - out.write(buf, 0, length); - } - } - - } - } - Files.delete(Paths.get(filePath)); - Files.move(Paths.get(filePath + ".jar"), Paths.get(filePath)); - - } - - public static void main(String[] args) throws Exception { - String filePath = args[0]; - String outPath = args[1]; - String jakartaVersion = args[2]; - String jakartaActivationVersion = args[3]; - String jacksonVersion = args[4]; - - replaceInJar(filePath); - extract(filePath, outPath); - - // rename dir - Files.move(Paths.get(outPath + File.separator + - "META-INF" + File.separator + - "maven" + File.separator + - "io.swagger.core.v3" + File.separator + - "swagger-maven-plugin"), - Paths.get(outPath + File.separator + - "META-INF" + File.separator + - "maven" + File.separator + - "io.swagger.core.v3" + File.separator + - "swagger-maven-plugin-jakarta") - ); - - Path pluginXmlPath = Paths.get( - outPath + - File.separator + "META-INF" + - File.separator + "maven" + - File.separator + "plugin.xml"); - String pluginXml = new String(Files.readAllBytes(pluginXmlPath)); - Matcher m = Pattern.compile(jakartaXmlBindRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaXmlBindDep.replace("VERSION", jakartaVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jakartaValidationRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaValidationDep.replace("VERSION", jakartaVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonJsonRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonJsonDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonBaseRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonBaseDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jacksonJaxbRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jacksonJaxbDep.replace("VERSION", jacksonVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - m = Pattern.compile(jakartaActivationRegex, Pattern.DOTALL).matcher(pluginXml); - while (m.find()) { - pluginXml = pluginXml.substring(m.start(), m.start(1)) + - jakartaActivationDep.replace("VERSION", jakartaActivationVersion) + - pluginXml.substring(m.end(1), m.end()); - } - - // write back to plugin.xml file - Files.write(pluginXmlPath, pluginXml.getBytes()); - - // delete the original jar - Files.delete(Paths.get(filePath)); - // compress the new jar - jar(Paths.get(outPath), filePath); - // delete the temp directory - Files.walk(Paths.get(outPath)) - .sorted(Comparator.reverseOrder()) - .map(Path::toFile) - .forEach(File::delete); - - } - -} diff --git a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md b/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md deleted file mode 100644 index e96b3ae207..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-maven-plugin-jakarta/transformed/README.md +++ /dev/null @@ -1,3 +0,0 @@ -#### Don't delete - -Target directory for eclipse transformer plugin; Jakarta EE 9+ artifacts are generated in this directory diff --git a/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml b/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml deleted file mode 100644 index c589c07595..0000000000 --- a/modules/swagger-project-jakarta/modules/swagger-models-jakarta/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - io.swagger.core.v3 - swagger-project-jakarta - 3.0.0-SNAPSHOT - ../.. - - 4.0.0 - swagger-models-jakarta - swagger-models-jakarta - swagger-models-jakarta - - - - - org.eclipse.transformer - transformer-maven-plugin - ${transformer-maven-plugin-version} - true - - - true - - ${project.build.finalName}-jakarta - - - - default-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - - - - - javadoc-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - javadoc - - - - - source-jar - - jar - - - - ${project.groupId} - swagger-models - ${project.version} - sources - - - - - - - - - - - com.fasterxml.jackson.core - jackson-annotations - - - diff --git a/modules/swagger-project-jakarta/pom.xml b/modules/swagger-project-jakarta/pom.xml deleted file mode 100644 index 306ec5fce0..0000000000 --- a/modules/swagger-project-jakarta/pom.xml +++ /dev/null @@ -1,517 +0,0 @@ - - 4.0.0 - io.swagger.core.v3 - swagger-project-jakarta - pom - swagger-project-jakarta - swagger-project-jakarta - 3.0.0-SNAPSHOT - https://github.com/swagger-api/swagger-core - - scm:git:git@github.com:swagger-api/swagger-core.git - scm:git:git@github.com:swagger-api/swagger-core.git - https://github.com/swagger-api/swagger-core - - - 2.2.0 - - - - frantuma - Francesco Tumanischvili - frantuma@yahoo.com - - - - github - https://github.com/swagger-api/swagger-core/issues - - - - swagger-swaggersocket - https://groups.google.com/forum/#!forum/swagger-swaggersocket - - - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0.html - repo - - - - install - target - ${project.artifactId}-${project.version} - - - META-INF - ../../../.. - true - - NOTICE - LICENSE - - - - - - maven-compiler-plugin - 3.14.1 - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - - enforce-versions - - enforce - - - - - - - org.yaml:snakeyaml - - Use org.snakeyaml:snakeyaml-engine (via jackson-dataformat-yaml). Classic org.yaml:snakeyaml is not compatible with Jackson 3. - - - true - No Snapshots Allowed! - - - (,2.1.0),(2.1.0,2.2.0),(2.2.0,) - Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. - - - [17,) - Java 17 or higher is required. - - - - - - - - maven-dependency-plugin - - - copy-deps - package - - copy-dependencies - - - ${project.build.directory}/lib - - - - - - org.sonatype.central - central-publishing-maven-plugin - 0.11.0 - true - - central - true - published - 3600 - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - - --pinentry-mode - loopback - - - - - org.eclipse.jetty - jetty-maven-plugin - ${jetty-version} - - - org.glassfish.jersey.core - jersey-server - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2-version} - - - org.javassist - javassist - - - - - org.glassfish.jersey.inject - jersey-hk2 - ${jersey2-version} - - - org.javassist - javassist - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${enforcer-plugin-version} - - - - - - - release - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - - --pinentry-mode - loopback - - - - - sign-artifacts - verify - - sign - - - - - - - - - - modules/swagger-annotations-jakarta - modules/swagger-models-jakarta - modules/swagger-core-jakarta - modules/swagger-integration-jakarta - modules/swagger-jaxrs2-jakarta - modules/swagger-jaxrs2-servlet-initializer-jakarta - modules/swagger-jaxrs2-servlet-initializer-v2-jakarta - modules/swagger-maven-plugin-jakarta - - - - target/site - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven-javadoc-plugin-version} - - 17 - UTF-8 - 1g - true - - https://docs.oracle.com/en/java/javase/17/docs/api - - - - - - aggregate - false - - aggregate - - - - - - org.apache.maven.plugins - maven-jxr-plugin - 2.5 - - - aggregate - - aggregate - - - - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.9 - - - - project-team - - - - - - - - - - org.apache.maven - maven-plugin-tools-api - 3.5.1 - - - org.slf4j - slf4j-api - ${slf4j-version} - compile - - - org.slf4j - slf4j-ext - ${slf4j-version} - compile - - - org.slf4j - slf4j-log4j12 - ${slf4j-version} - provided - - - org.apache.commons - commons-lang3 - ${commons-lang-version} - compile - - - org.apache.httpcomponents - httpclient - ${httpcomponents-version} - - - commons-io - commons-io - ${commons-io-version} - test - - - io.github.classgraph - classgraph - ${classgraph-version} - - - ch.qos.logback - logback-classic - ${logback-version} - provided - - - ch.qos.logback - logback-core - ${logback-version} - provided - - - joda-time - joda-time - ${joda-time-version} - - - org.joda - joda-convert - ${joda-version} - - - - - - jakarta.servlet - jakarta.servlet-api - ${servlet-api-version} - provided - - - - jakarta.xml.bind - jakarta.xml.bind-api - ${jakarta.xml.bind-api-version} - - - jakarta.activation - jakarta.activation-api - ${jakarta.activation-api-version} - - - jakarta.ws.rs - jakarta.ws.rs-api - ${jakarta.ws-version} - - - jakarta.validation - jakarta.validation-api - ${jakarta.validation-version} - - - - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-annotations-version} - - - tools.jackson.core - jackson-core - ${jackson-version} - - - tools.jackson.core - jackson-databind - ${jackson-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - - - tools.jackson.dataformat - jackson-dataformat-yaml - ${jackson-version} - - - tools.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - ${jackson-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - - - tools.jackson.jakarta.rs - jackson-jakarta-rs-base - ${jackson-version} - - - tools.jackson.module - jackson-module-jakarta-xmlbind-annotations - ${jackson-version} - - - jakarta.activation - jakarta.activation-api - - - jakarta.xml.bind - jakarta.xml.bind-api - - - com.sun.activation - jakarta.activation - - - - - - com.google.guava - guava - ${guava-version} - test - - - - - 17 - 2.2.4 - 2.13.0 - 3.1.0 - 3.0.2 - 3.0.1 - 2.1.3 - 6.4.0 - 5.0.0 - 3.1.12 - 2.22 - 3.2.2 - 1.6.3 - 4.8.192 - 32.1.3-jre - 1.10.15 - 3.20.0 - 2.18.0 - 2.0.18 - 9.4.56.v20240826g - 7.9.0 - 2.28.2 - 4.5.1 - 4.5.14 - 1.17.2 - - 3.5.6 - 3.2.1 - 2.22.2 - 3.12.0 - - 0.90 - 0.90 - 0 - - UTF-8 - 2026-08-31T09:02:30Z - 0.5.0 - 3.9.14 - 1.27.1 - - diff --git a/pom.xml b/pom.xml index 034f0912c7..64076bacfe 100644 --- a/pom.xml +++ b/pom.xml @@ -405,12 +405,9 @@ modules/swagger-core modules/swagger-integration modules/swagger-jaxrs2 - modules/swagger-jaxrs2-servlet-initializer modules/swagger-jaxrs2-servlet-initializer-v2 modules/swagger-bom modules/swagger-maven-plugin - modules/swagger-eclipse-transformer-maven-plugin - modules/swagger-project-jakarta @@ -661,7 +658,7 @@ 0.90 0.90 0 - 0.5.0 + UTF-8 2026-08-31T09:02:19Z From 731c352785af0ea851b92cdb4cb10212695e8ab1 Mon Sep 17 00:00:00 2001 From: Daniel Kmiecik Date: Tue, 15 Sep 2026 14:14:17 +0200 Subject: [PATCH 2/2] chore: remove references to `javax` namespace and update examples/documentation for Jakarta transition --- CI/post-release.sh | 4 - CI/prepare-release.sh | 5 -- README.md | 51 ++---------- modules/swagger-gradle-plugin/README.md | 17 ---- modules/swagger-maven-plugin/README.md | 101 ++---------------------- 5 files changed, 10 insertions(+), 168 deletions(-) diff --git a/CI/post-release.sh b/CI/post-release.sh index 5867d730fb..3ae7aa9640 100755 --- a/CI/post-release.sh +++ b/CI/post-release.sh @@ -28,10 +28,6 @@ cd modules/swagger-bom ../../mvnw versions:commit cd ../.. -cd modules/swagger-project-jakarta -../../mvnw versions:set -DnewVersion="${SC_NEXT_VERSION}-SNAPSHOT" -../../mvnw versions:commit -cd ../.. ##################### ### update all other versions in files around to the next snapshot or new release, including readme and gradle ### diff --git a/CI/prepare-release.sh b/CI/prepare-release.sh index 4a2e0876a6..4177ab600a 100755 --- a/CI/prepare-release.sh +++ b/CI/prepare-release.sh @@ -30,11 +30,6 @@ cd modules/swagger-bom ../../mvnw versions:commit cd ../.. -cd modules/swagger-project-jakarta -../../mvnw versions:set -DnewVersion=$SC_VERSION -../../mvnw versions:commit -cd ../.. - ##################### ### update all other versions in files around to the new release, including readme and gradle ### diff --git a/README.md b/README.md index ce691def42..56c392e380 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,12 @@ **NOTE:** If you're looking for Swagger Core 1.5.X and OpenAPI 2.0, please refer to [1.5 branch](https://github.com/swagger-api/swagger-core/tree/1.5). -**NOTE:** Since version 2.1.7, Swagger Core also supports the Jakarta namespace. There are a parallel set of artifacts with the `-jakarta` suffix, providing the same functionality as the unsuffixed (i.e.: `javax`) artifacts. -Please see the [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details. - **NOTE:** Since version 2.2.0 Swagger Core supports OpenAPI 3.1; see [this page](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---OpenAPI-3.1) for details ![Build Test Deploy](https://github.com/swagger-api/swagger-core/workflows/Build%20Test%20Deploy%20master/badge.svg?branch=master) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.swagger.core.v3/swagger-project/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/io.swagger.core.v3/swagger-project) -Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports *JAX-RS2* (`javax` and `jakarta` namespaces). +Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports *Jakarta RESTful Web Services* (`jakarta` namespace). ## Get started with Swagger Core! See the guide on [getting started with Swagger Core](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) to get started with adding Swagger to your API. @@ -169,11 +166,11 @@ Of course if you don't want to build locally you can grab artifacts from maven c ### Maven BOM -The `swagger-bom` artifact is a Bill of Materials that manages **both** the `javax` and Jakarta (`-jakarta` suffix) artifact families. +The `swagger-bom` artifact is a Bill of Materials that manages all Swagger Core artifact versions. Import it once and omit versions on all individual Swagger dependencies. -> **Note:** Maven and Gradle build plugins (`swagger-maven-plugin`, `swagger-gradle-plugin`, -> `swagger-eclipse-transformer-maven-plugin`) are intentionally **excluded** from the BOM. +> **Note:** Maven and Gradle build plugins (`swagger-maven-plugin`, `swagger-gradle-plugin`) +> are intentionally **excluded** from the BOM. > Plugins are applied via `` or `plugins {}`, not via ``, > so including them in the BOM would be misleading and could conflict with the plugin > management section of a consumer's build. @@ -195,7 +192,6 @@ Import it once and omit versions on all individual Swagger dependencies. - io.swagger.core.v3 swagger-annotations @@ -216,43 +212,10 @@ Import it once and omit versions on all individual Swagger dependencies. io.swagger.core.v3 swagger-jaxrs2 - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer - io.swagger.core.v3 swagger-jaxrs2-servlet-initializer-v2 - - - io.swagger.core.v3 - swagger-annotations-jakarta - - - io.swagger.core.v3 - swagger-models-jakarta - - - io.swagger.core.v3 - swagger-core-jakarta - - - io.swagger.core.v3 - swagger-integration-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-jakarta - - - io.swagger.core.v3 - swagger-jaxrs2-servlet-initializer-v2-jakarta - ``` @@ -262,13 +225,9 @@ Import it once and omit versions on all individual Swagger dependencies. dependencies { implementation(platform("io.swagger.core.v3:swagger-bom:${swaggerOpenapiv3Version}")) - // javax artifacts — no version needed + // no version needed implementation("io.swagger.core.v3:swagger-annotations") implementation("io.swagger.core.v3:swagger-core") - - // Jakarta namespace artifacts — no version needed - implementation("io.swagger.core.v3:swagger-annotations-jakarta") - implementation("io.swagger.core.v3:swagger-core-jakarta") } ``` diff --git a/modules/swagger-gradle-plugin/README.md b/modules/swagger-gradle-plugin/README.md index cef7d0fe71..a3ccf3bd0e 100644 --- a/modules/swagger-gradle-plugin/README.md +++ b/modules/swagger-gradle-plugin/README.md @@ -2,23 +2,6 @@ **`swagger-gradle-plugin` supports gradle 3.2 and higher.** -## Jakarta namespace support - -Since version 2.1.7 Swagger Core supports also Jakarta namespace, with a parallel set of artifacts with `-jakarta` suffix, providing the same functionality as the "standard" `javax` namespace ones. -Please check [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details - -To have gradle plugin use the `jakarta` namespace artifacts, you need to provide a value to parameter `buildClasspath` -In many cases it is sufficient to set it to the `classpath` value, like: - -`buildClasspath = classpath` - -Alternatively provide as value a classpath with the following dependencies (replacing the provided [`javax` ones](https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-gradle-plugin/src/main/java/io/swagger/v3/plugins/gradle/SwaggerPlugin.java#L16-L25)): - -* org.apache.commons:commons-lang3:3.20.0 -* io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.9 -* jakarta.ws.rs:jakarta.ws.rs-api:3.0.0 -* jakarta.servlet:jakarta.servlet-api:5.0.0 - ## Installation diff --git a/modules/swagger-maven-plugin/README.md b/modules/swagger-maven-plugin/README.md index 4d7648e9c1..014d4b922c 100644 --- a/modules/swagger-maven-plugin/README.md +++ b/modules/swagger-maven-plugin/README.md @@ -4,17 +4,8 @@ All parameters except `outputFileName`, `outputFormat`, `skip`, `encoding` and `outputPath` correspond to `swagger` [configuration property](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties) with same name. -## Jakarta namespace support - -Since version 2.1.7 Swagger Core supports also Jakarta namespace, with a parallel set of artifacts with `-jakarta` suffix, providing the same functionality as the "standard" `javax` namespace ones. -Please check [Wiki](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started) for more details - -Both `javax` and `jakarta` examples are provided below - ## Configuration example -### `javax` namespace - ```xml @@ -22,7 +13,7 @@ Both `javax` and `jakarta` examples are provided below io.swagger.core.v3 swagger-maven-plugin - 2.2.55 + 3.0.0-SNAPSHOT openapi ${project.build.directory}/generatedtest @@ -47,69 +38,18 @@ Both `javax` and `jakarta` examples are provided below io.swagger.core.v3 swagger-jaxrs2 - 2.2.55 - - - - javax.ws.rs - javax.ws.rs-api - 2.1 - - - javax.servlet - javax.servlet-api - 3.1.0 - - - -``` - -### `jakarta` namespace - -```xml - - - - - io.swagger.core.v3 - swagger-maven-plugin-jakarta - 2.2.55 - - openapi - ${project.build.directory}/generatedtest - JSONANDYAML - - test.petstore - - TRUE - - - - compile - - resolve - - - - - - - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.55 + 3.0.0-SNAPSHOT jakarta.ws.rs jakarta.ws.rs-api - 3.0.0 + 2.1.6 jakarta.servlet jakarta.servlet-api - 5.0.0 + 4.0.4 @@ -117,8 +57,6 @@ Both `javax` and `jakarta` examples are provided below ## Configuration example with provided Swagger configuration file -### `javax` namespace - ```xml @@ -126,36 +64,7 @@ Both `javax` and `jakarta` examples are provided below io.swagger.core.v3 swagger-maven-plugin - 2.2.55 - - openapi - ${project.build.directory}/generatedtest - ${project.basedir}/src/main/resources/configurationFile.yaml - - - - compile - - resolve - - - - - - - ... - ``` - -### `jakarta` namespace - - ```xml - - - - - io.swagger.core.v3 - swagger-maven-plugin-jakarta - 2.2.55 + 3.0.0-SNAPSHOT openapi ${project.build.directory}/generatedtest