Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.
Releases of Spring Web Services are available for download from Maven Central, as well as our own repository, https://repo.spring.io/release.
Please visit https://spring.io/projects/spring-ws to get the right Maven/Gradle settings for your selected version.
Run ./mvnw clean package
This will generate the artifacts.
You can also import the project into your IDE.
Before you make a release, follow this checklist:
Are you using the latest milestone/release candidate/release of Spring Framework? If not, upgrade. (Don’t forget spring-buildsnapshot
profile.)
Are you using the latest milestone/release candidate/release of Spring Security? If not, upgrade. (Don’t forget spring-buildsnapshot
profile.)
Are you setup with the right version of Java? If not switch. (Java 17 for 4.0+, Java 8 for everything else.)
Is it time to switch from milestone to release candidate? Or from release candidate to release?
Note
|
The actual building and releasing is done on CI inside a Docker container, ensuring little risk between versions of Java. But part of the release process requires a local check, which DOES depend upon your environment. |
Create a new release (on the main branch).
% ci/create-release.sh <release version> <next snapshot version>
With the release tagged, update the release branch to the newly created tag.
% git checkout release % git reset --hard <tag>
Verify this builds locally and passes all tests.
% ./mvnw clean package % ./mvnw -Pspring-buildsnapshot clean package % ./mvnw -Pspring-next-gen clean package % ./mvnw -Pspring-next-gen-snapshot clean package
Push the tagged version to the release branch.
% git push -f origin release
Once completed, push the main
branch for next version’s snapshots.
% git checkout main % git push % git push --tags
The pipeline will build and release the "release" branch on artifactory for milestones and RCs. For releases, they are sent to maven central.
Once the release is completed and tags are pushed:
Close the Github issue milestone.
Run the ChangeLogCreator
report against that milestone.
Go to https://github.com/spring-projects/spring-ws/releases.
Find that tag and create a new release. Use the output from ChangeLogCreator
as the content for the release report.
Announce on #spring-release.
Since the pipeline uses Docker, it’s easy to:
Debug what went wrong on your local machine.
Test out a tweak to your test.sh
script before sending it out.
Experiment against a new image before submitting your pull request.
All of these use cases are great reasons to know what Jenkins does, on your local machine.
Important
|
To do this you must have Docker installed on your machine. |
docker run -it --mount type=bind,source="$(pwd)",target=/spring-ws-github openjdk:17-bullseye /bin/bash
This will launch the Docker image and mount your source code at spring-ws-github
.
cd spring-ws-github
Next, run the test.sh
script from inside the container:
PROFILE=none ci/test.sh
Since the container is binding to your source, you can make edits from your IDE and continue to run build jobs.
If you need to test the build.sh
script, then do this:
docker run -it --mount type=bind,source="$(pwd)",target=/spring-ws-github openjdk:17-bullseye /bin/bash
This will launch the Docker image and mount your source code at spring-ws-github
and the temporary
artifactory output directory at spring-ws-artifactory
.
Next, run the build.sh
script from inside the container:
ci/build.sh
Important
|
build.sh will attempt to push to Artifactory. If you don’t supply credentials, it will fail.
|
Note
|
Docker containers can eat up disk space fast! From time to time, run docker system prune to clean out old images.
|
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.
You can find the documentation, issue management, support, samples, and guides for using Spring Web Services at https://spring.io/projects/spring-ws/
See the current Javadoc and reference docs.
Spring Web Services uses Github for issue tracking purposes.
Spring Web Services is Apache 2.0 licensed.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。