diff --git a/.github/workflows/maven-v1-pulls.yml b/.github/workflows/maven-v1-pulls.yml index 012ea9a0dc..9590e56e0a 100644 --- a/.github/workflows/maven-v1-pulls.yml +++ b/.github/workflows/maven-v1-pulls.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 8 ] + java: [ 11, 17 ] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/maven-v1.yml b/.github/workflows/maven-v1.yml index 7c64f53d3e..f25c175485 100644 --- a/.github/workflows/maven-v1.yml +++ b/.github/workflows/maven-v1.yml @@ -3,6 +3,8 @@ name: Build Test Deploy 1.5 on: push: branches: [ "1.5" ] + pull_request: + branches: [ "1.5" ] jobs: build: @@ -10,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 8 ] + java: [ 11, 17 ] steps: - uses: actions/checkout@v2 @@ -31,13 +33,20 @@ jobs: - name: Build with Maven and Gradle run: | ./mvnw -B -Dhttps.protocols=TLSv1.2 verify --file pom.xml - export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` - echo "POM VERSION" ${MY_POM_VERSION} - if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; + export MY_JAVA_VERSION=`java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1` + echo "JAVA VERSION" ${MY_JAVA_VERSION} + if [[ ${MY_JAVA_VERSION} == "11" ]]; then - ./mvnw -B -Dhttps.protocols=TLSv1.2 clean deploy + export MY_POM_VERSION=`./mvnw -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` + echo "POM VERSION" ${MY_POM_VERSION} + if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]]; + then + ./mvnw -B -Dhttps.protocols=TLSv1.2 clean deploy + else + echo "not deploying release: " ${MY_POM_VERSION} + fi else - echo "not deploying release: " ${MY_POM_VERSION} + echo "not deploying on java version: " ${MY_JAVA_VERSION} fi env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index c6feb8bb6f..bf82ff01c6 100644 Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 6637cedb28..30052152b2 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1 +1,18 @@ -distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip \ No newline at end of file +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar diff --git a/modules/swagger-annotations/pom.xml b/modules/swagger-annotations/pom.xml index beb988b988..318cf7b97d 100644 --- a/modules/swagger-annotations/pom.xml +++ b/modules/swagger-annotations/pom.xml @@ -10,21 +10,25 @@ io.swagger swagger-annotations 1.6.10-SNAPSHOT - bundle swagger-annotations src/main/java install - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin + + + org.apache.maven.plugins + maven-jar-plugin - - io.swagger.annotations - + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.annotations + + @@ -125,4 +129,4 @@ - \ No newline at end of file + diff --git a/modules/swagger-core/pom.xml b/modules/swagger-core/pom.xml index 4b846dfcb5..e9e8a4727f 100644 --- a/modules/swagger-core/pom.xml +++ b/modules/swagger-core/pom.xml @@ -8,7 +8,6 @@ 4.0.0 swagger-core - bundle swagger-core src/main/java @@ -28,31 +27,38 @@ - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin - - - io.swagger.converter, - io.swagger.core, - io.swagger.core.filter, - io.swagger.core.util, - io.swagger.reader, - io.swagger.config, - io.swagger.model, - io.swagger.util - - javax.validation.constraints;version="[1.1,3)",* - + + Import-Package: javax.validation.constraints;version="[1.1,3)",* + Export-Package: \ + io.swagger.converter,\ + io.swagger.core,\ + io.swagger.core.filter,\ + io.swagger.core.util,\ + io.swagger.reader,\ + io.swagger.config,\ + io.swagger.model,\ + io.swagger.util + org.apache.maven.plugins maven-jar-plugin - 2.6 + + default-jar + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.core + + + + test-jar @@ -63,6 +69,10 @@ + + jakarta.xml.bind + jakarta.xml.bind-api + org.apache.commons commons-lang3 diff --git a/modules/swagger-hibernate-validations/pom.xml b/modules/swagger-hibernate-validations/pom.xml index c26b5f6965..bb0cd82cf5 100644 --- a/modules/swagger-hibernate-validations/pom.xml +++ b/modules/swagger-hibernate-validations/pom.xml @@ -31,24 +31,43 @@ - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin - - - io.swagger.converter, - io.swagger.core, - io.swagger.core.util, - io.swagger.reader, - io.swagger.config, - io.swagger.models - - javax.validation.constraints;version="[1.1,3)",* - + + Import-Package: javax.validation.constraints;version="[1.1,3)",* + Export-Package: \ + io.swagger.converter,\ + io.swagger.core,\ + io.swagger.core.util,\ + io.swagger.reader,\ + io.swagger.config,\ + io.swagger.models + + + org.apache.maven.plugins + maven-jar-plugin + + + default-jar + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.validator + + + + + + + test-jar + + + + diff --git a/modules/swagger-jaxrs/pom.xml b/modules/swagger-jaxrs/pom.xml index 1db1adbfb6..88766ad9fb 100644 --- a/modules/swagger-jaxrs/pom.xml +++ b/modules/swagger-jaxrs/pom.xml @@ -9,7 +9,6 @@ 4.0.0 swagger-jaxrs - bundle swagger-jaxrs src/main/java @@ -29,25 +28,41 @@ - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin - - - io.swagger.jaxrs, - io.swagger.jaxrs.config, - io.swagger.jaxrs.ext, - io.swagger.jaxrs.listing - - - javax.ws.rs*;version="[1.1,3)", - * - - + + Import-Package: javax.ws.rs*;version="[1.1,3)",* + Export-Package: \ + io.swagger.jaxrs,\ + io.swagger.jaxrs.config,\ + io.swagger.jaxrs.ext,\ + io.swagger.jaxrs.listing + + + org.apache.maven.plugins + maven-jar-plugin + + + default-jar + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.jaxrs + + + + + + + test-jar + + + + org.codehaus.mojo build-helper-maven-plugin @@ -68,25 +83,6 @@ - - org.apache.maven.plugins - maven-failsafe-plugin - ${failsafe-plugin-version} - - - - integration-test - verify - - - - ${jetty.port} - - - - - - org.eclipse.jetty jetty-maven-plugin @@ -96,10 +92,18 @@ ${jetty.port} a ${jetty.port.stop} + + jar + true ${project.basedir}/src/test/webapp + + jakarta.xml.bind + jakarta.xml.bind-api + ${jakarta.xml.bind-api-version} + com.sun.jersey jersey-servlet @@ -126,6 +130,24 @@ + + org.apache.maven.plugins + maven-failsafe-plugin + ${failsafe-plugin-version} + + + + integration-test + verify + + + + ${jetty.port} + + + + + @@ -207,22 +229,20 @@ test - com.jayway.restassured + io.rest-assured rest-assured + ${rest-assured-version} test org.mockito - mockito-all + mockito-core + ${mockito-version} + test commons-io commons-io - - 0.50 - 0.00 - 4 - diff --git a/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java b/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java index 6978d7d8e6..9954cc60d5 100644 --- a/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java +++ b/modules/swagger-jaxrs/src/test/java/io/swagger/SwaggerContextServiceTest.java @@ -17,8 +17,8 @@ import javax.servlet.ServletContext; import static io.swagger.jaxrs.config.SwaggerContextService.*; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -50,7 +50,7 @@ void initMock() { bc.setDescription("Bean Config test 2"); beanConfigScanner2 = bc; } - + void stubWithPathBasedConfigInitParam() { when(servletContext1.getAttribute(SCANNER_ID_PREFIX + "/url1")).thenReturn(beanConfigScanner1); @@ -301,7 +301,7 @@ public void initializeAndGetConfigBasedOnPath() { .withServletConfig(servletConfig1) .withBasePath("/url1") .initConfig(); - + new SwaggerContextService() .withServletConfig(servletConfig2) .withBasePath("url2") diff --git a/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java b/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java index 4f1fbc46cb..f5f0e49b44 100644 --- a/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java +++ b/modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java @@ -1,10 +1,10 @@ package io.swagger.functional.test; -import static com.jayway.restassured.RestAssured.given; +import static io.restassured.RestAssured.given; import static org.testng.Assert.assertEquals; import com.fasterxml.jackson.databind.SerializationFeature; -import com.jayway.restassured.http.ContentType; +import io.restassured.http.ContentType; import io.swagger.util.Json; import io.swagger.util.Yaml; @@ -17,7 +17,7 @@ /** * Created by rbolles on 2/16/16. *

- * An functional integration test that runs during maven's integration-test phase, + * A functional integration test that runs during maven's integration-test phase, * uses RestAssured to define REST API tests, and Jetty's Maven plugin to serve a simple * sample app just prior to the integration-test phase starting. */ diff --git a/modules/swagger-jersey2-jaxrs/pom.xml b/modules/swagger-jersey2-jaxrs/pom.xml index b823650ada..afcd744618 100644 --- a/modules/swagger-jersey2-jaxrs/pom.xml +++ b/modules/swagger-jersey2-jaxrs/pom.xml @@ -9,7 +9,6 @@ 4.0.0 swagger-jersey2-jaxrs - bundle swagger-jersey2-jaxrs (Jersey 2.x support) src/main/java @@ -29,16 +28,24 @@ - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin org.apache.maven.plugins maven-jar-plugin - 2.6 + + default-jar + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.jersey + + + + test-jar diff --git a/modules/swagger-models/pom.xml b/modules/swagger-models/pom.xml index 62d0af2da1..dfb6d2c491 100644 --- a/modules/swagger-models/pom.xml +++ b/modules/swagger-models/pom.xml @@ -9,7 +9,6 @@ 4.0.0 swagger-models - bundle swagger-models src/main/java @@ -29,23 +28,42 @@ - org.apache.felix - maven-bundle-plugin - ${felix-version} - true + biz.aQute.bnd + bnd-maven-plugin - - - io.swagger.models.auth, - io.swagger.models.parameters, - io.swagger.models.properties, - io.swagger.models.refs, - io.swagger.models.utils, - io.swagger.models - - + + Export-Package: \ + io.swagger.models.auth,\ + io.swagger.models.parameters,\ + io.swagger.models.properties,\ + io.swagger.models.refs,\ + io.swagger.models.utils,\ + io.swagger.models + + + org.apache.maven.plugins + maven-jar-plugin + + + default-jar + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + io.swagger.models + + + + + + + test-jar + + + + @@ -87,7 +105,7 @@ org.powermock - powermock-api-mockito + powermock-api-mockito2 junit @@ -100,11 +118,6 @@ test - - org.mockito - mockito-core - test - asm asm @@ -117,7 +130,5 @@ 0.0 41 - 1.6.4 - 1.10.19 diff --git a/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java b/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java index a56c599f99..24918d9b24 100644 --- a/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java +++ b/modules/swagger-models/src/test/java/io/swagger/models/properties/PropertyBuilderTest.java @@ -5,7 +5,7 @@ import io.swagger.models.ModelImpl; import io.swagger.models.properties.PropertyBuilder.PropertyId; import io.swagger.models.properties.StringProperty.Format; -import org.mockito.Matchers; +import org.mockito.ArgumentMatchers; import org.mockito.Mockito; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; @@ -277,7 +277,7 @@ public void testMergeWithUUIDProperty() { // given uuidProperty = Mockito.spy(uuidProperty); - Mockito.doThrow(new RuntimeException()).when(uuidProperty)._enum(Matchers.anyString()); + Mockito.doThrow(new RuntimeException()).when(uuidProperty)._enum(ArgumentMatchers.anyString()); // when PropertyBuilder.merge(uuidProperty, args); @@ -314,7 +314,7 @@ public void testMergeWithDateProperty() { // given dateProperty = Mockito.spy(dateProperty); - Mockito.doThrow(new RuntimeException()).when(dateProperty)._enum(Matchers.anyString()); + Mockito.doThrow(new RuntimeException()).when(dateProperty)._enum(ArgumentMatchers.anyString()); // when PropertyBuilder.merge(dateProperty, args); @@ -336,7 +336,7 @@ public void testMergeWithDateTimeProperty() { // given dateTimeProperty = Mockito.spy(dateTimeProperty); - Mockito.doThrow(new RuntimeException()).when(dateTimeProperty)._enum(Matchers.anyString()); + Mockito.doThrow(new RuntimeException()).when(dateTimeProperty)._enum(ArgumentMatchers.anyString()); // when PropertyBuilder.merge(dateTimeProperty, args); diff --git a/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java b/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java new file mode 100644 index 0000000000..b028d1e455 --- /dev/null +++ b/modules/swagger-models/src/test/java/org/testng/internal/ObjectFactoryImpl.java @@ -0,0 +1,10 @@ +package org.testng.internal; + +/** + * see comment in PowerMock issue 1118: + * Added as a work-around to PowerMock issue 1118: + * "TestNG 7.7 cannot load PowerMockTestCase class". Remove when that is resolved. + * + */ +public class ObjectFactoryImpl extends org.testng.internal.objects.ObjectFactoryImpl { +} diff --git a/pom.xml b/pom.xml index 1a444a5980..7148596327 100644 --- a/pom.xml +++ b/pom.xml @@ -112,7 +112,7 @@ org.apache.maven.plugins maven-source-plugin - 2.1.2 + 3.2.1 attach-sources @@ -126,7 +126,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.7 + 3.5.0 true 1.7 @@ -149,16 +149,12 @@ maven-compiler-plugin - 3.0 - - 1.7 - 1.7 - + 3.10.1 org.apache.maven.plugins maven-jar-plugin - 2.4 + 3.3.0 **/logback.xml @@ -176,90 +172,12 @@ org.apache.maven.plugins maven-site-plugin - 2.1 + 3.12.0 org.apache.maven.plugins maven-release-plugin - 2.1 - - - org.jacoco - jacoco-maven-plugin - - - default-prepare-agent - - prepare-agent - - - - default-report - prepare-package - - report - - - - default-check - - check - - - - - - - **/io/swagger/config/FilterFactory.* - **/io/swagger/model/ApiInfo.* - **/io/swagger/util/Yaml.* - **/io/swagger/jackson/* - **/io/swagger/jackson/mixin/* - **/io/swagger/converter/ModelConverters.* - - - **/io/swagger/jaxrs/json/JacksonJsonProvider.* - **/io/swagger/jaxrs/listing/ApiListingResource.* - **/io/swagger/jaxrs/listing/SwaggerSerializers.* - **/io/swagger/jaxrs/config/WebXMLReader.* - **/io/swagger/jaxrs/config/DefaultJaxrsScanner.* - **/io/swagger/jaxrs/config/DefaultJaxrsConfig.* - - - **/io/swagger/servlet/config/WebXMLReader.* - **/io/swagger/servlet/config/ServletScanner.* - **/io/swagger/servlet/config/DefaultServletConfig.* - **/io/swagger/servlet/listing/ApiDeclarationServlet.* - **/*ServletReaderExtension$*.* - - - - BUNDLE - - - COMPLEXITY - COVEREDRATIO - ${coverage.complexity.minimum} - - - CLASS - MISSEDCOUNT - ${coverage.missed.classes} - - - - - CLASS - - - LINE - COVEREDRATIO - ${coverage.line.minimum} - - - - - + 2.5.3 @@ -289,9 +207,56 @@ ${enforcer-plugin-version} - org.jacoco - jacoco-maven-plugin - 0.7.2.201409121644 + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M9 + + ${project.build.outputDirectory} + --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED + + + + biz.aQute.bnd + bnd-maven-plugin + ${bnd-version} + + ="1.1.1";\ + uses:="\ + javax.ws.rs,\ + javax.ws.rs.core,\ + javax.ws.rs.ext,\ + javax.ws.rs.client,\ + javax.ws.rs.container",\ + osgi.contract;\ + osgi.contract=JavaServlet;\ + version:List="2.5";\ + uses:="\ + javax.servlet,\ + javax.servlet.annotation,\ + javax.servlet.descriptor,\ + javax.servlet.http" + -cdiannotations: + ]]> + + + + + bnd-process + + + @@ -375,7 +340,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.9 + 3.5.0 true true @@ -397,7 +362,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 2.6 + 2.9 @@ -415,11 +380,6 @@ maven-plugin-tools-api 2.1 - - org.apache.felix - maven-bundle-plugin - ${felix-version} - org.slf4j slf4j-ext @@ -445,17 +405,11 @@ test - com.jayway.restassured + io.rest-assured rest-assured ${rest-assured-version} test - - org.mockito - mockito-all - ${mockito-version} - test - javax.servlet servlet-api @@ -568,7 +522,7 @@ org.glassfish.hk2.external javax.inject - 2.2.0 + 2.4.0 org.hibernate @@ -603,52 +557,56 @@ org.powermock - powermock-api-mockito + powermock-api-mockito2 ${powermock.version} - - org.mockito - mockito-core - ${mockito-version} - asm asm 3.3.1 + + jakarta.xml.bind + jakarta.xml.bind-api + ${jakarta.xml.bind-api-version} + - 1.8.1 - 2.12.1 + 7 + 1.9.2 + 2.12.2 - 3.3.0 + 6.4.0 2.5 - 1.13 - 2.26 - 2.14.0 - 2.14.0 - 1.33 - 1.4.4 + 1.19.4 + 2.39 + 2.14.2 + 2.14.2 + 2.0 + 1.4.5 0.10.2 - 31.0.1-android + 31.1-android 3.21.0-GA - 6.14.3 - 1.9.5 - 2.9.0 - 2.18.1 + 7.7.1 + 2.28.2 + 5.3.0 + 2.22.2 1.0.0 3.12.0 - 1.7.22 - 9.2.14.v20151106 + 1.7.36 + 9.4.49.v20220914 2.5 0.90 0.90 0 2.11.0 - 1.4 - 2.19.1 + 3.2.1 + 2.22.2 1.1.0.Final + 2.0.9 + 5.1.1 + 2.3.3