diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..bda7e5a --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,23 @@ +name: Java CI with Maven + +on: + push: + branches: [ "main", "develop" ] + pull_request: + branches: [ "main", "develop" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + - name: Build and Test + run: mvn -B verify --file pom.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d93be0..30689fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,14 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + ## [2.1.0] - 2026-09-16 ### Added +- GitHub Actions workflow (`.github/workflows/maven.yml`) building and testing on JDK 21 for pushes/PRs against `main` and `develop`. +- Maven Central publishing setup: `distributionManagement`, `central-publishing-maven-plugin`, `maven-source-plugin`, `maven-javadoc-plugin`, and a `release` profile that signs artifacts with `maven-gpg-plugin`. `openapi2soapui` (parent), `openapi2soapui-core` and `openapi2soapui-cli` are published (the CLI needs `core` on Central to resolve, and publishing the CLI itself lets it be pulled directly from Central); `openapi2soapui-rest` opts out of deploy (`maven.deploy.skip=true`) since it's a runnable service, not a library. - **Command line interface** (`openapi2soapui-cli.jar`): generates a SoapUI project from an OpenAPI spec without starting the service, `java -jar openapi2soapui-cli.jar -f petstore.yaml`. Same engine, request model and validations as the HTTP endpoint, so both produce identical projects. - Input with `-f` (spec as plain JSON or YAML) or `-c` (the same JSON body the REST API takes, `openApiSpec` base64 encoded), output with `-o` (folder, or a path ending in `.xml`, default `./out`), plus `-n`, `-H`, `--server-pattern`, `--test-case-names`, `--number-of-scopes`, `--read-only`, `--minimal-endpoints`, `--microcks-headers`, `--generate-one-of-any-of`, `--schema-is-inline`, `--is-inline`, `--has-scopes`, `--application-token`, `--no-validate-schema`, `--no-schema-pretty-print`, `-h` and `-V`. Defaults match the HTTP API. ### Changed - Split into `openapi2soapui-core`, `openapi2soapui-rest` and `openapi2soapui-cli`. The service keeps its artifact file name, but its Maven coordinates become `net.cloudappi:openapi2soapui-rest`. +- **Breaking:** Maven `groupId` changed from `net.cloudappi` to `org.apiaddicts.apitools.openapi2soapui` across all modules, to publish under the already-verified `apiaddicts` namespace on Sonatype Central (matches `apigen.springboot` and `sonaropenapi-rules`). ## [2.1.0-beta-1] - 2026-08-28 diff --git a/openapi2soapui-cli/pom.xml b/openapi2soapui-cli/pom.xml index b1b7834..eea0756 100644 --- a/openapi2soapui-cli/pom.xml +++ b/openapi2soapui-cli/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui - 2.1.0-beta-1 + 2.1.0 ../pom.xml @@ -14,6 +14,25 @@ openapi2soapui-cli Openapi to SoapUI Project - command line interface + https://github.com/apiaddicts/openapi2soapui + + + + GNU Lesser General Public License (LGPLV3+) + http://www.gnu.org/licenses/lgpl-3.0.html + + + + + Apiaddicts + https://apiaddicts.org + + + + scm:git:git://github.com/apiaddicts/openapi2soapui.git + scm:git:ssh://github.com:apiaddicts/openapi2soapui.git + https://github.com/apiaddicts/openapi2soapui/tree/master + openapi2soapui-cli @@ -49,7 +68,7 @@ - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui-core ${project.version} diff --git a/openapi2soapui-core/pom.xml b/openapi2soapui-core/pom.xml index 2b1fa14..795b667 100644 --- a/openapi2soapui-core/pom.xml +++ b/openapi2soapui-core/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui - 2.1.0-beta-1 + 2.1.0 ../pom.xml @@ -14,6 +14,25 @@ openapi2soapui-core OpenAPI to SoapUI project conversion engine + https://github.com/apiaddicts/openapi2soapui + + + + GNU Lesser General Public License (LGPLV3+) + http://www.gnu.org/licenses/lgpl-3.0.html + + + + + Apiaddicts + https://apiaddicts.org + + + + scm:git:git://github.com/apiaddicts/openapi2soapui.git + scm:git:ssh://github.com:apiaddicts/openapi2soapui.git + https://github.com/apiaddicts/openapi2soapui/tree/master + diff --git a/openapi2soapui-rest/pom.xml b/openapi2soapui-rest/pom.xml index 22bdcde..e3557c8 100644 --- a/openapi2soapui-rest/pom.xml +++ b/openapi2soapui-rest/pom.xml @@ -3,9 +3,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui - 2.1.0-beta-1 + 2.1.0 ../pom.xml @@ -15,6 +15,11 @@ openapi2soapui-rest Openapi to SoapUI Project - HTTP service + + + true + + openapi2soapui @@ -28,7 +33,7 @@ - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui-core ${project.version} diff --git a/pom.xml b/pom.xml index 2efde1e..18680bd 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ 3.5.16 - net.cloudappi + org.apiaddicts.apitools.openapi2soapui openapi2soapui 2.1.0 pom @@ -29,12 +29,44 @@ https://apiaddicts.org + + + MH + Melsy Huamani + melsy.huamani.pe@cloudappi.net + Cloudappi + + + SD + Sebastian Diaz + sebastian.diaz.pe@cloudappi.net + Cloudappi + + + RG + Rafael Goterris + rafael.goterris@cloudappi.net + Cloudappi + + + scm:git:git://github.com/apiaddicts/openapi2soapui.git scm:git:ssh://github.com:apiaddicts/openapi2soapui.git https://github.com/apiaddicts/openapi2soapui/tree/master + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + openapi2soapui-core @@ -47,6 +79,11 @@ UTF-8 21 + + war + 2.8.17 5.9.1 2.1.45 @@ -54,6 +91,11 @@ 1.18.46 1.0.76 1.6.16 + + 3.3.1 + 3.12.0 + 3.2.8 + 0.8.0 @@ -115,6 +157,28 @@ war + + + release + + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-plugin.version} + + + sign-artifacts + verify + + sign + + + + + + + @@ -124,4 +188,53 @@ + + + + + org.sonatype.central + central-publishing-maven-plugin + ${central-publishing-maven-plugin.version} + true + + central + true + published + + + + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + attach-sources + + jar-no-fork + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + none + false + + + + attach-javadocs + + jar + + + + + + +