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
+
+
+
+
+
+
+