diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 997eb1ce..d8feb9b3 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,5 +1,5 @@ # -# Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2024 Oracle and/or its affiliates. All rights reserved. # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License v. 2.0, which is available at @@ -18,6 +18,17 @@ name: JSON-B API on: [push, pull_request] +permissions: + security-events: read + contents: write + actions: read + id-token: write + checks: write + +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + jobs: build: name: JSON-B API compilation @@ -25,27 +36,20 @@ jobs: steps: - name: Checkout for build - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up compile JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'adopt' java-version: 11 - - name: Maven cache - uses: actions/cache@v2 - env: - cache-name: maven-cache - with: - path: - ~/.m2 - key: build-${{ env.cache-name }} + cache: 'maven' - name: API compilation - run: cd api && mvn clean install -Pstaging + run: cd api && mvn clean install -Pstaging -B - name: TCK test compilation - run: cd tck && mvn clean install -Pstaging + run: cd tck && mvn clean install -Pstaging -B - name: Javadoc compilation - run: cd docs && mvn clean install -Pstaging + run: cd docs && mvn clean install -Pstaging -B - name: Generating specification - run: cd spec && mvn clean install -Pstaging + run: cd spec && mvn clean install -Pstaging -B diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 24edd247..dd6225fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,13 +4,19 @@ Thanks for your interest in this project. ## Project description -JSON-B is a standard binding layer for converting Java objects to/from JSON -messages. It defines a default mapping algorithm for converting existing Java -classes to JSON, while enabling developers to customize the mapping process -through the use of Java annotations. +Jakarta JSON Binding™ is a standard binding layer for converting Java objects +to/from JSON messages. It defines a default mapping algorithm for converting +existing Java classes to JSON, while enabling developers to customize the +mapping process through the use of Java annotations. * https://projects.eclipse.org/projects/ee4j.jsonb +## Terms of Use + +This repository is subject to the Terms of Use of the Eclipse Foundation + +* https://www.eclipse.org/legal/termsofuse.php + ## Developer resources Information regarding source code management, builds, coding standards, and @@ -20,20 +26,35 @@ more. The project maintains the following source code repositories -* https://github.com/eclipse-ee4j/jsonb-api +* https://github.com/jakartaee/jsonb-api + +## Eclipse Development Process + +This Eclipse Foundation open project is governed by the Eclipse Foundation +Development Process and operates under the terms of the Eclipse IP Policy. + +The Jakarta EE Specification Committee has adopted the Jakarta EE Specification +Process (JESP) in accordance with the Eclipse Foundation Specification Process +v1.2 (EFSP) to ensure that the specification process is complied with by all +Jakarta EE specification projects. + +* https://eclipse.org/projects/dev_process +* https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf +* https://jakarta.ee/about/jesp/ +* https://www.eclipse.org/legal/efsp_non_assert.php ## Eclipse Contributor Agreement -Before your contribution can be accepted by the project team contributors must +In order to be able to contribute to Eclipse Foundation projects you must electronically sign the Eclipse Contributor Agreement (ECA). -* http://www.eclipse.org/legal/ECA.php +* https://www.eclipse.org/legal/ECA.php -Commits that are provided by non-committers must have a Signed-off-by field in -the footer indicating that the author is aware of the terms by which the -contribution has been provided to the project. The non-committer must -additionally have an Eclipse Foundation account and must have a signed Eclipse -Contributor Agreement (ECA) on file. +The ECA provides the Eclipse Foundation with a permanent record that you agree +that each of your contributions will comply with the commitments documented in +the Developer Certificate of Origin (DCO). Having an ECA on file associated with +the email address matching the "Author" field of your contribution's Git commits +fulfills the DCO's requirement that you sign-off on your contributions. For more information, please see the Eclipse Committer Handbook: https://www.eclipse.org/projects/handbook/#resources-commit diff --git a/NOTICE.md b/NOTICE.md index 2d0795f7..48252b06 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -6,7 +6,7 @@ This content is produced and maintained by the Jakarta JSON Binding project. ## Trademarks -Jakarta JSON Binding is a trademark of the Eclipse Foundation. +Jakarta JSON Binding™ is a trademark of the Eclipse Foundation. ## Copyright @@ -18,25 +18,19 @@ source code repository logs. This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0 which is available at -http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made +https://www.eclipse.org/legal/epl-2.0. This Source Code may also be made available under the following Secondary Licenses when the conditions for such -availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU -General Public License, version 2 with the GNU Classpath Exception which is -available at https://www.gnu.org/software/classpath/license.html. +availability set forth in the Eclipse Public License v. 2.0 are satisfied: +GPL-2.0 with Classpath-exception-2.0 which is available at +https://openjdk.java.net/legal/gplv2+ce.html. -SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0 ## Source Code The project maintains the following source code repositories: -* https://github.com/eclipse-ee4j/jsonb-api - -## Third-party Content - -This project leverages the following third party content. - -None +* https://github.com/jakartaee/jsonb-api ## Cryptography diff --git a/README.md b/README.md index fd668920..d67ed867 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,9 @@ include the TCK module and apply the appropriate Arquillian container. See the [ ## Links -- [Official web site](https://eclipse-ee4j.github.io/jsonb-api) +- [Official web site](https://jakartaee.github.io/jsonb-api) - [Eclipse project](https://projects.eclipse.org/projects/ee4j.jsonb) -- [User's Guide](https://eclipse-ee4j.github.io/jsonb-api/docs/user-guide.html) +- [User's Guide](https://jakartaee.github.io/jsonb-api/docs/user-guide.html) - [Jenkins Builds](https://ci.eclipse.org/jsonb/view/all/) - [Mailing list](https://www.eclipse.org/lists/jsonb-dev/) - [Yasson (Compatible Implementation)](https://github.com/eclipse-ee4j/yasson) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..fcdbb763 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +This project implements the Eclipse Foundation Security Policy + +* https://www.eclipse.org/security + +## Supported Versions + +These versions of Jakarta JSON Binding are currently being supported with +security updates. + +| Version | Released | Supported | +| ------- | ---------- | --------- | +| 3.0.0 | 2022-03-31 | Yes | +| 2.0.0 | 2020-10-07 | Yes | +| < 1.0.2 | 2019-09-10 | No | + +## Reporting a Vulnerability + +Please report vulnerabilities to the Eclipse Foundation Security Team at +security@eclipse.org diff --git a/api/pom.xml b/api/pom.xml index 3aeeef74..31ae931b 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -1,7 +1,7 @@ 2.0.0 jakarta.json.bind ${project.basedir}/.. Oracle Corporation + + ${project.basedir}/../etc/config/copyright-exclude + ${project.basedir}/../etc/config/epl-copyright.txt + ${project.basedir}/../etc/config/edl-copyright.txt + true + true + false + + ${project.basedir}/../etc/config/spotbugs-exclude.xml + false + Low + 4.8.3.1 + + 11 + ${maven.compiler.release} @@ -108,7 +123,7 @@ junit junit - 4.13.1 + 4.13.2 test @@ -171,44 +186,34 @@ - maven-resources-plugin - 3.1.0 + org.codehaus.mojo + build-helper-maven-plugin + 3.5.0 - org.codehaus.mojo - findbugs-maven-plugin - 3.0.5 + com.github.spotbugs + spotbugs-maven-plugin + ${spotbugs.version} - Max - Low - true + ${spotbugs.skip} + ${spotbugs.threshold} - - - analyze-compile - compile - - check - - - org.apache.maven.plugins maven-compiler-plugin - 3.8.0 + 3.12.1 -Xlint:all - 11 org.codehaus.mojo buildnumber-maven-plugin - 1.4 + 3.2.0 {0,date,MM/dd/yyyy hh:mm aa} @@ -228,9 +233,8 @@ org.glassfish.build spec-version-maven-plugin - 1.5 + 2.2 - jakarta ${non.final} api @@ -254,7 +258,7 @@ org.apache.felix maven-bundle-plugin - 3.5.1 + 5.1.9 true @@ -288,7 +292,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.1.0 + 3.3.0 ${project.build.outputDirectory}/META-INF/MANIFEST.MF @@ -298,9 +302,8 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.0 + 3.6.3 - 11 Jakarta JSON Binding ${project.version} API Specification **/module-info.java @@ -316,7 +319,7 @@ ${release.spec.feedback}.
- Copyright © 2019, 2022 Eclipse Foundation. All Rights Reserved.
+ Copyright © 2019, 2024 Eclipse Foundation. All Rights Reserved.
Use is subject to license terms.]]>
@@ -332,7 +335,7 @@ org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.2.1 attach-sources @@ -345,7 +348,7 @@ org.apache.maven.plugins maven-jxr-plugin - 3.0.0 + 3.3.2 @@ -356,36 +359,32 @@ + org.glassfish.copyright glassfish-copyright-maven-plugin 2.4 - ${basedir}/../etc/config/copyright-exclude - git - false - true - false - - false - - false - ${basedir}/../etc/config/epl-copyright.txt - ${basedir}/../etc/config/edl-copyright.txt + ${copyright.exclude} + ${copyright.scmonly} + ${copyright.update} + ${copyright.ignoreyear} + false + ${copyright.templatefile} + ${copyright.bsdTemplateFile} + verify - copyright check - compile org.apache.maven.plugins maven-checkstyle-plugin - 3.0.0 + 3.3.1 com.puppycrawl.tools @@ -412,40 +411,37 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.1.0
- maven-resources-plugin + org.codehaus.mojo + build-helper-maven-plugin - copy-sources - generate-sources + add-legal-resource + generate-resources - copy-resources + add-resource - ${project.build.outputDirectory}/META-INF ${legal.doc.source} - LICENSE.md NOTICE.md + LICENSE.md + META-INF - - org.apache.maven.plugins - maven-compiler-plugin - org.codehaus.mojo buildnumber-maven-plugin @@ -454,14 +450,6 @@ org.apache.felix maven-bundle-plugin - - org.apache.maven.plugins - maven-javadoc-plugin - - - org.apache.maven.plugins - maven-source-plugin - org.apache.maven.plugins maven-jxr-plugin @@ -470,10 +458,6 @@ org.glassfish.copyright glassfish-copyright-maven-plugin - - org.glassfish.build - spec-version-maven-plugin - biz.aQute.bnd @@ -493,16 +477,15 @@ - - - - - - org.codehaus.mojo - findbugs-maven-plugin - 3.0.5 + com.github.spotbugs + spotbugs-maven-plugin + + true + ${spotbugs.exclude} + High + - + diff --git a/docs/pom.xml b/docs/pom.xml index 9ddc0d32..04f9ad7e 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -1,7 +1,7 @@ - - - - org.torquebox.mojo - mavengem-wagon - 1.0.3 - - diff --git a/docs/src/docs/user-guide.adoc b/docs/src/docs/user-guide.adoc index f2f724a3..a929301f 100644 --- a/docs/src/docs/user-guide.adoc +++ b/docs/src/docs/user-guide.adoc @@ -1,6 +1,7 @@ -:component-name: Json Binding 1.0.1 Users Guide +:component-name: Json Binding 3.0.1 Users Guide :toc: left :toclevels: 3 +:source-highlighter: coderay = {component-name} @@ -14,11 +15,18 @@ JSON-B is a standard binding layer for converting Java objects to/from JSON mess .Maven Dependencies ---- - + - org.glassfish - jakarta.json - 1.1.5 + jakarta.json + jakarta.json-api + 2.1.3 + + + + + org.eclipse.parsson + parsson + 1.1.6 runtime @@ -26,14 +34,14 @@ JSON-B is a standard binding layer for converting Java objects to/from JSON mess jakarta.json.bind jakarta.json.bind-api - 1.0.1 + 3.0.1 org.eclipse yasson - 1.0.3 + 3.0.4 runtime @@ -706,7 +714,7 @@ Jsonb jsonb = JsonbBuilder.create(config); == Further Information -- JSON-B official web site: https://eclipse-ee4j.github.io/jsonb-api +- JSON-B official web site: https://jakartaee.github.io/jsonb-api - Jakarta JSON Binding: https://projects.eclipse.org/projects/ee4j.jsonb - Mailing list: jsonb-dev@eclipse.org - Yasson (Compatible Implementation): https://github.com/eclipse-ee4j/yasson diff --git a/etc/config/spotbugs-exclude.xml b/etc/config/spotbugs-exclude.xml new file mode 100644 index 00000000..6e7dd290 --- /dev/null +++ b/etc/config/spotbugs-exclude.xml @@ -0,0 +1,20 @@ + + + + \ No newline at end of file diff --git a/spec/pom.xml b/spec/pom.xml index 52a66b8b..c892ce6e 100644 --- a/spec/pom.xml +++ b/spec/pom.xml @@ -1,7 +1,7 @@