diff --git a/.github/actions/workflow-succeeded/action.yaml b/.github/actions/workflow-succeeded/action.yaml index f5888e5e3..5bba75f48 100644 --- a/.github/actions/workflow-succeeded/action.yaml +++ b/.github/actions/workflow-succeeded/action.yaml @@ -54,7 +54,7 @@ runs: run: | JOBS_JSON=$(gh run view "${{ steps.find-run-id.outputs.RUN_ID }}" --json jobs) NON_SUCCESSFUL_JOBS=$(jq -r '.jobs[] | select(.conclusion != "success" and .conclusion != "neutral")' <<< "$JOBS_JSON") - EXCLUDED_JOBS=$(jq -r '.[]' <<< "${{ inputs.excluded-jobs }}") + EXCLUDED_JOBS=$(jq -r '.[]' <<< '${{ inputs.excluded-jobs }}') while IFS= read -r EXCLUDED_JOB; do if [[ -z "$EXCLUDED_JOB" ]]; then continue diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index a21e16231..1cdbf7c8c 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -1,6 +1,8 @@ name: "Continuous Integration" on: pull_request: + branches: [ "*" ] + push: branches: [ "main" ] workflow_dispatch: @@ -32,7 +34,6 @@ on: env: M2_ROOT: ~/.m2/repository - RELEASE_ARTIFACT_NAME: "release-artifacts" SDK_M2_NAME: "sdk-m2" # used for the installed SDK modules within the runner's maven repository SDK_M2_PATH: | ~/.m2/repository/com/sap/cloud/sdk/** @@ -67,7 +68,11 @@ jobs: echo "COMMIT=${{ github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT exit 0 fi - echo "Unable to determine commit SHA as the workflow was not triggered by a pull request and the commit input was not provided" + if [[ "${{ github.event_name }}" == "push" ]]; then + echo "COMMIT=${{ github.sha }}" >> $GITHUB_OUTPUT + exit 0 + fi + echo "Unable to determine commit SHA as the workflow was not triggered by a pull request or push, and the commit input was not provided" exit 1 check-formatting: @@ -122,38 +127,9 @@ jobs: - name: "Build SDK" run: | - MVN_ARGS="${{ env.MVN_MULTI_THREADED_ARGS }} install -DskipTests -DskipFormatting" - - if [[ "${{ github.event.inputs.build-release-artifacts }}" == "true" ]]; then - echo "[DEBUG] Building release artifacts" - python .pipeline/scripts/generate-javadoc-sourcepath-properties.py - MVN_ARGS="$MVN_ARGS javadoc:aggregate -Pdocs" - fi - + MVN_ARGS="${{ env.MVN_MULTI_THREADED_ARGS }} clean install -DskipTests -DskipFormatting" echo "[DEBUG] Running Maven with following arguments: $MVN_ARGS" mvn $MVN_ARGS - - if [[ "${{ github.event.inputs.build-release-artifacts }}" == "true" ]]; then - VERSION=$(cat latest.json | jq -r .version) - mkdir -p $HOME/.sdk-release - - PYTHON_ARGS="--version $VERSION --path-prefix $HOME/.sdk-release/${{ env.RELEASE_ARTIFACT_NAME }}" - if [[ "${{ github.event.inputs.sign-release-artifacts }}" == "true" ]]; then - echo "[DEBUG] Signing release artifacts" - PYTHON_ARGS="$PYTHON_ARGS --with-signing" - fi - - python .pipeline/scripts/generate-release-artifacts.py $PYTHON_ARGS - else - echo "[DEBUG] Skipping release artifact generation" - fi - - - name: "Build Module Inventory" - run: > - python ./scripts/create_module_inventory_file.py - --sdk-root-directory ./ - --output-file ./module-inventory.json - --script-config ./scripts/common/_maven_module/maven_module_reader_configuration.json - name: "Verify Local Changes" run: | @@ -166,14 +142,6 @@ jobs: exit 1 fi - - name: "Upload Release Artifacts" - if: ${{ github.event.inputs.build-release-artifacts == 'true' }} - uses: actions/upload-artifact@v4 - with: - name: ${{ env.RELEASE_ARTIFACT_NAME }} - path: ~/.sdk-release/${{ env.RELEASE_ARTIFACT_NAME }} - retention-days: 1 - - name: "Upload SDK M2" uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/deploy-snapshot.yaml b/.github/workflows/deploy-snapshot.yaml index 593cc2edd..880666c58 100644 --- a/.github/workflows/deploy-snapshot.yaml +++ b/.github/workflows/deploy-snapshot.yaml @@ -1,86 +1,40 @@ -name: Deploy Snapshot to Maven Central +name: Deploy Snapshot to SAP Common Artifactory on: workflow_dispatch: - inputs: - skip_blackduck_scan: - description: "Skip Blackduck Scan" - type: boolean - default: false - required: false - -env: - CI_BUILD_WORKFLOW: "continuous-integration.yaml" # Name of the workflow that should be triggered for CI builds - RELEASE_ARTIFACT_NAME: "release-artifacts" # Name of the artifact that should be downloaded from the CI build workflow - - MVN_CLI_ARGS: "--batch-mode --no-transfer-progress --fail-at-end --show-version" + schedule: + - cron: 0 20 * * 1-5 jobs: - run-ci: - name: "Continuous Integration" - runs-on: ubuntu-latest - outputs: - ci-run-id: ${{ steps.trigger-ci.outputs.run-id }} - permissions: - actions: write # needed to trigger the ci-build workflow - statuses: write # needed to update the commit status - steps: - - name: "Checkout repository" - uses: actions/checkout@v4 - - name: "Get Commit SHA" - run: echo "COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV - - name: "Get Branch Name" - run: echo "BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV - - - name: "Trigger CI Workflow" - id: trigger-ci - uses: ./.github/actions/trigger-workflow - with: - workflow: ${{ env.CI_BUILD_WORKFLOW }} - workflow-ref: ${{ env.BRANCH_NAME }} - commit-sha: ${{ env.COMMIT_SHA }} - parameters: > - -f commit=${{ env.COMMIT_SHA }} - -f build-release-artifacts=true - -f run-blackduck-scan=${{ !github.event.inputs.skip_blackduck_scan }} - - - name: "Await CI Workflow" - uses: ./.github/actions/await-workflow - with: - run-id: ${{ steps.trigger-ci.outputs.run-id }} - commit-status: "Continuous Integration Workflow" - deploy-snapshot: name: Deploy Snapshot - needs: [ run-ci ] runs-on: ubuntu-latest timeout-minutes: 15 - permissions: - actions: read # needed to download the artifacts from the ci-build workflow steps: - name: "Checkout Repository" uses: actions/checkout@v4 - - name: "Deploy Snapshot" - uses: ./.github/actions/deploy-snapshot + - name: "Setup java" + uses: actions/setup-java@v4 with: - ci-run-id: ${{ needs.run-ci.outputs.ci-run-id }} - repository-url: "https://oss.sonatype.org/content/repositories/snapshots" - repository-username: ${{ secrets.MAVEN_CENTRAL_USER }} - repository-password: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - release-artifact-name: ${{ env.RELEASE_ARTIFACT_NAME }} - - notify-job: - runs-on: ubuntu-latest - needs: [ run-ci, deploy-snapshot ] - if: ${{ failure() && github.ref == 'refs/heads/main' }} - steps: - - name: "Checkout" - uses: actions/checkout@v4 - - name: "Notify" - run: python .pipeline/scripts/notify.py + distribution: "sapmachine" + java-version: "17" + server-id: artifactory-snapshots + server-username: DEPLOYMENT_USER + server-password: DEPLOYMENT_PASS + + - name: "Publish Snapshot" + run: > + mvn + --batch-mode + --no-transfer-progress + --threads 1C + --show-version + -DrepositoryId=artifactory-snapshots + -Dmaven.compiler.showCompilationChanges + -Dhttp.keepAlive=false + clean package deploy env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - WORKFLOW: ${{ github.workflow }} - WORKFLOW_RUN_URL: https://github.com/SAP/cloud-sdk-java/actions/runs/${{ github.run_id }} - BRANCH_NAME: ${{ github.ref_name }} + DEPLOYMENT_USER: ${{ secrets.ARTIFACTORY_COMMON_USER }} + DEPLOYMENT_PASS: ${{ secrets.ARTIFACTORY_COMMON_PASSWORD }} + diff --git a/.github/workflows/main-build.yaml b/.github/workflows/main-build.yaml deleted file mode 100644 index 03fd4cc08..000000000 --- a/.github/workflows/main-build.yaml +++ /dev/null @@ -1,77 +0,0 @@ -name: "Main Build" - -on: - push: - branches: [ "main" ] - -env: - CI_BUILD_WORKFLOW: "continuous-integration.yaml" # Name of the workflow that should be triggered for CI builds - RELEASE_ARTIFACT_NAME: "release-artifacts" # Name of the artifact that should be downloaded from the CI build workflow - COMMIT_SHA: ${{ github.sha }} - BRANCH_NAME: ${{ github.ref_name }} - MVN_CLI_ARGS: "--batch-mode --no-transfer-progress --fail-at-end --show-version --threads 1C" - -jobs: - run-ci: - name: "Continuous Integration" - runs-on: ubuntu-latest - outputs: - ci-run-id: ${{ steps.trigger-ci.outputs.run-id }} - permissions: - actions: write # needed to trigger the ci-build workflow - statuses: write # needed to update the commit status - steps: - - name: "Checkout repository" - uses: actions/checkout@v4 - - - name: "Trigger CI Workflow" - id: trigger-ci - uses: ./.github/actions/trigger-workflow - with: - workflow: ${{ env.CI_BUILD_WORKFLOW }} - workflow-ref: ${{ env.BRANCH_NAME }} - commit-sha: ${{ env.COMMIT_SHA }} - parameters: > - -f commit=${{ env.COMMIT_SHA }} - -f build-release-artifacts=true - - - name: "Await CI Workflow" - uses: ./.github/actions/await-workflow - with: - run-id: ${{ steps.trigger-ci.outputs.run-id }} - commit-status: "Continuous Integration Workflow" - - deploy-snapshot: - name: "Deploy Snapshot" - needs: [ run-ci ] - runs-on: ubuntu-latest - timeout-minutes: 15 - permissions: - actions: read # needed to download the artifacts from the ci-build workflow - steps: - - name: "Checkout Repository" - uses: actions/checkout@v4 - - - name: "Deploy Snapshot" - uses: ./.github/actions/deploy-snapshot - with: - ci-run-id: ${{ needs.run-ci.outputs.ci-run-id }} - repository-url: "https://common.repositories.cloud.sap/artifactory/build-snapshots-cloudsdk" - repository-username: ${{ secrets.ARTIFACTORY_USER }} - repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }} - release-artifact-name: ${{ env.RELEASE_ARTIFACT_NAME }} - - notify-job: - runs-on: ubuntu-latest - needs: [ run-ci, deploy-snapshot ] - if: ${{ failure() }} - steps: - - name: "Checkout" - uses: actions/checkout@v4 - - name: "Notify" - run: python .pipeline/scripts/notify.py - env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - WORKFLOW: ${{ github.workflow }} - WORKFLOW_RUN_URL: https://github.com/SAP/cloud-sdk-java/actions/runs/${{ github.run_id }} - BRANCH_NAME: ${{ env.BRANCH_NAME }} diff --git a/.github/workflows/perform-release.yml b/.github/workflows/perform-release.yml index c4552560d..2f1dc54e3 100644 --- a/.github/workflows/perform-release.yml +++ b/.github/workflows/perform-release.yml @@ -13,8 +13,8 @@ on: type: boolean env: - MVN_CLI_ARGS: "--batch-mode --no-transfer-progress --fail-at-end --show-version" - + MVN_CLI_ARGS: --batch-mode --no-transfer-progress --fail-at-end --show-version -DskipTests + JAVA_VERSION: 17 DOCS_REPO: SAP/cloud-sdk jobs: @@ -36,14 +36,12 @@ jobs: RELEASE_VERSION=$(echo $CODE_BRANCH_NAME | cut -d '-' -f2) RELEASE_TAG=rel/$RELEASE_VERSION RELEASE_COMMIT=$(gh release view $RELEASE_TAG --repo ${{github.repository}} --json targetCommitish --jq '.targetCommitish') - DOCS_BRANCH_NAME=java/release-docs-$RELEASE_VERSION RELEASE_NOTES_BRANCH_NAME=java/release-notes-$RELEASE_VERSION echo "CODE_BRANCH_NAME=$CODE_BRANCH_NAME" >> $GITHUB_OUTPUT echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_OUTPUT echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_OUTPUT echo "RELEASE_COMMIT=$RELEASE_COMMIT" >> $GITHUB_OUTPUT - echo "DOCS_BRANCH_NAME=$DOCS_BRANCH_NAME" >> $GITHUB_OUTPUT echo "RELEASE_NOTES_BRANCH_NAME=$RELEASE_NOTES_BRANCH_NAME" >> $GITHUB_OUTPUT echo -e "[DEBUG] Current GITHUB_OUTPUT:\n$(cat $GITHUB_OUTPUT)" @@ -70,18 +68,7 @@ jobs: with: workflow: "Continuous Integration" sha: ${{ steps.determine-branch-names.outputs.RELEASE_COMMIT }} - - - name: "Check Whether Docs PR Can Be Merged" - if: ${{ inputs.skip-pr-merge != 'true' }} - uses: ./.github/actions/pr-is-mergeable - with: - pr-ref: ${{ steps.determine-branch-names.outputs.DOCS_BRANCH_NAME }} - repo: ${{ env.DOCS_REPO }} - token: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - excluded-check-runs: | - { - \"Build Cloud SDK Documentation\": [\"dependabot\"] - } + excluded-jobs: "[\"Run BlackDuck Scan\"]" - name: "Check Whether Release Notes PR Can Be Merged" if: ${{ inputs.skip-pr-merge != 'true' }} @@ -107,55 +94,33 @@ jobs: uses: actions/setup-java@v4 with: distribution: "sapmachine" - java-version: "17" - server-id: ossrh - server-username: MAVEN_CENTRAL_USER # env variable for username in deploy - server-password: MAVEN_CENTRAL_PASSWORD # env variable for token in deploy + java-version: ${{ env.JAVA_VERSION }} - name: "Download Release Asset" id: download-asset run: | gh release download ${{ needs.prerequisites.outputs.release-tag }} --dir ./ --repo "${{ github.repository }}" # x=extract v=verbose z=decompress f=file C=destination directory - tar -xvzf apidocs-*.tar.gz -C . tar -xvzf release-*.tar.gz -C . env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: "Import GPG Key" run: | - echo "${{ secrets.PGP_PRIVATE_KEY }}" | gpg --batch --passphrase "$PASSPHRASE" --import + echo "${{ secrets.PGP_PRIVATE_KEY }}" | gpg --batch --passphrase "$MAVEN_GPG_PASSPHRASE" --import env: - PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} - - name: "Deploy Locally" - run: > - mvn - $MVN_CLI_ARGS - -DrepositoryId=local - -Durl=file:./temp_local_repo - -Dmaven.install.skip=true - -Dgpg.passphrase="$GPG_PASSPHRASE" - -Dgpg.keyname="$MAVEN_CENTRAL_USER" - deploy - env: - MAVEN_CENTRAL_USER: ${{ secrets.MAVEN_CENTRAL_USER }} - MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - GPG_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} + - name: "Create settings.xml" + run: | + echo '${{ secrets.CENTRAL_SONATYPE_SETTINGS_XML }}' > settings.xml - - name: "Deploy Staging" - run: > - mvn - $MVN_CLI_ARGS - org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy-staged-repository - -DserverId=ossrh - -DnexusUrl=https://oss.sonatype.org - -DrepositoryDirectory=./temp_local_repo - -DstagingProfileId=$MAVEN_CENTRAL_PROFILE_ID + - name: "Deploy" + run: | + MVN_ARGS="${{ env.MVN_CLI_ARGS }} -Drelease -s settings.xml" + mvn deploy $MVN_ARGS env: - MAVEN_CENTRAL_USER: ${{ secrets.SONATYPE_TOKEN_NAME }} - MAVEN_CENTRAL_PASSWORD: ${{ secrets.SONATYPE_TOKEN_PASS }} - MAVEN_CENTRAL_PROFILE_ID: ${{ secrets.MAVEN_CENTRAL_PROFILE_ID }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} - name: "Merge Code PR" if: ${{ inputs.skip-pr-merge != 'true' }} @@ -168,40 +133,8 @@ jobs: env: GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - - name: "Merge Docs PR" - if: ${{ inputs.skip-pr-merge != 'true' }} - run: gh pr merge --squash "${{ needs.prerequisites.outputs.docs-branch }}" --delete-branch --repo "${{ env.DOCS_REPO }}" - env: - GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - - name: "Merge Release Notes PR" if: ${{ inputs.skip-pr-merge != 'true' }} - run: | - # https://github.com/cli/cli/issues/8092#issuecomment-1814439651 - # The Release Notes mergeability computation hasn't completed yet - # Because the base branch just changed from merging the Javadoc. - # Sleep and retry to work around "Base branch was modified." error. - for i in {1..3}; do - sleep 5 - if gh pr merge --squash "${{ needs.prerequisites.outputs.release-notes-branch }}" --delete-branch --repo "${{ env.DOCS_REPO }}"; then - exit 0 - fi - done - exit 1 - env: - GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - - notify-job: - runs-on: ubuntu-latest - needs: [ prerequisites, release ] - if: ${{ failure() }} - steps: - - name: "Checkout" - uses: actions/checkout@v4 - - name: "Notify" - run: python .pipeline/scripts/notify.py + run: gh pr merge --squash "${{ needs.prerequisites.outputs.release-notes-branch }}" --delete-branch --repo "${{ env.DOCS_REPO }}" env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - WORKFLOW: ${{ github.workflow }} - WORKFLOW_RUN_URL: https://github.com/SAP/cloud-sdk-java/actions/runs/${{ github.run_id }} - BRANCH_NAME: ${{ needs.prerequisites.outputs.code-branch }} + GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} \ No newline at end of file diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 5451a4c96..6c5627b99 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ env: CI_BUILD_WORKFLOW: "continuous-integration.yaml" # Name of the workflow that should be triggered for CI build RELEASE_ARTIFACT_NAME: "release-artifacts" # Name of the artifact that should be downloaded from the CI workflow SDK_TARGETS_NAME: "sdk-targets" # Name of the SDK target directories artifact that should be downloaded from the CI workflow - + JAVA_VERSION: 17 DOCS_REPO: SAP/cloud-sdk jobs: @@ -34,7 +34,11 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ github.event.inputs.branch }} - token: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} # this is needed so that the same token is used when pushing our changes later. Otherwise, our on: push workflows (i.e. our continuous integration) won't be triggered. + + - name: "Prepare git" + run: | + git config --global user.email "cloudsdk@sap.com" + git config --global user.name "SAP Cloud SDK Bot" - name: "Determine Versions" id: determine-versions @@ -46,11 +50,6 @@ jobs: - run: "echo Current Version: ${{ steps.determine-versions.outputs.CURRENT_SNAPSHOT }}" - run: "echo New Version: ${{ steps.determine-versions.outputs.NEW_SNAPSHOT }}" - - name: "Prepare git" - run: | - git config --global user.email "cloudsdk@sap.com" - git config --global user.name "SAP Cloud SDK Bot" - - name: "Set Release Version to ${{ steps.determine-versions.outputs.RELEASE_VERSION }}" id: prepare-release run: | @@ -100,7 +99,7 @@ jobs: -f commit=${{ needs.bump-version.outputs.release-commit }} -f build-release-artifacts=true -f sign-release-artifacts=true - -f run-blackduck-scan=true + -f run-blackduck-scan=false -f run-security-rating=true - name: "Await CI Workflow" @@ -124,33 +123,24 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ needs.bump-version.outputs.release-branch }} - - name: "Download Release Artifacts" - uses: actions/download-artifact@v4 - with: - name: ${{ env.RELEASE_ARTIFACT_NAME }} - github-token: ${{ github.token }} - run-id: ${{ needs.run-ci.outputs.ci-run-id }} - path: .release-artifacts/ - # needed to get the aggregated JavaDocs - - name: "Download SDK Targets" - uses: actions/download-artifact@v4 + + - name: "Setup java" + uses: actions/setup-java@v4 with: - name: ${{ env.SDK_TARGETS_NAME }} - github-token: ${{ github.token }} - run-id: ${{ needs.run-ci.outputs.ci-run-id }} - path: .targets/ + distribution: "sapmachine" + java-version: ${{ env.JAVA_VERSION }} + cache: 'maven' - - name: "Prepare git" + - name: "Build SDK" run: | - git config --global user.email "cloudsdk@sap.com" - git config --global user.name "SAP Cloud SDK Bot" + MVN_ARGS="${{ env.MVN_MULTI_THREADED_ARGS }} clean install -DskipTests" + mvn $MVN_ARGS - name: "Create Release" id: create-release run: | - tar -caf apidocs-${{ needs.bump-version.outputs.release-version }}.tar.gz -C .targets/target/reports/apidocs/ . - tar -caf release-${{ needs.bump-version.outputs.release-version }}.tar.gz -C .release-artifacts/ . - + tar -czf release-${{ needs.bump-version.outputs.release-version }}.tar.gz * + RELEASE_NAME="rel/${{ needs.bump-version.outputs.release-version }}" echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_OUTPUT @@ -158,93 +148,12 @@ jobs: --target ${{ needs.bump-version.outputs.release-commit }} \ --title "Release ${{ needs.bump-version.outputs.release-version }}" \ --draft --generate-notes \ - apidocs-${{ needs.bump-version.outputs.release-version }}.tar.gz \ release-${{ needs.bump-version.outputs.release-version }}.tar.gz) echo "RELEASE_URL=$RELEASE_URL" >> $GITHUB_OUTPUT env: GH_TOKEN: ${{ github.token }} - create-docs-pr: - name: "Create JavaDocs PR" - needs: [ bump-version, run-ci ] - outputs: - branch: ${{ steps.replace-javadoc.outputs.BRANCH_NAME }} - pr-url: ${{ steps.create-javadoc-pr.outputs.PR_URL }} - runs-on: ubuntu-latest - steps: - - name: "Checkout Code Repository" - uses: actions/checkout@v4 - with: - ref: ${{ needs.bump-version.outputs.release-branch }} - - name: "Checkout Docs Repository" - uses: actions/checkout@v4 - with: - repository: ${{ env.DOCS_REPO }} - path: .cloud-sdk-docs - token: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - # needed to get the aggregated JavaDocs - - name: "Download SDK Targets" - uses: actions/download-artifact@v4 - with: - name: ${{ env.SDK_TARGETS_NAME }} - github-token: ${{ github.token }} - run-id: ${{ needs.run-ci.outputs.ci-run-id }} - path: .targets - - - name: "Determine Major Version" - id: determine-major-version - run: echo "MAJOR_VERSION=$(jq -r '.version' latest.json | cut -d '.' -f 1)" >> $GITHUB_OUTPUT - - - name: "Prepare Git" - working-directory: ./.cloud-sdk-docs - run: | - git config --global user.email "cloudsdk@sap.com" - git config --global user.name "SAP Cloud SDK Bot" - - - name: "Replace JavaDoc" - id: replace-javadoc - run: | - TARGET_DIR=./.cloud-sdk-docs/static/java-api/v${{ steps.determine-major-version.outputs.MAJOR_VERSION }} - - rm -rf $TARGET_DIR - mkdir -p $TARGET_DIR - mv ./.targets/target/reports/apidocs/* $TARGET_DIR - - cd ./.cloud-sdk-docs - git add -A . - - CHANGED_FILES="$(git status -s)" - if [[ -z "$CHANGED_FILES" ]]; then - echo "[DEBUG] No changes to API docs detected, skipping Pull Request creation." - echo "CREATE_PR=false" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "CREATE_PR=true" >> $GITHUB_OUTPUT - BRANCH_NAME=java/release-docs-${{ needs.bump-version.outputs.release-version }} - echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT - - git switch --create $BRANCH_NAME - git commit -m "chore: Update JavaDocs for release ${{ needs.bump-version.outputs.release-version }}" - COMMIT_SHA=$(git log -1 --pretty=format:"%H") - echo "COMMIT_SHA=$COMMIT_SHA" >> $GITHUB_OUTPUT - - git push origin $BRANCH_NAME - - - name: "Create JavaDoc PR" - id: create-javadoc-pr - if: ${{ steps.replace-javadoc.outputs.CREATE_PR == 'true' }} - working-directory: ./.cloud-sdk-docs - run: | - PR_TITLE="Java: Update JavaDocs for release ${{ needs.bump-version.outputs.release-version }}" - PR_BODY="Replace the contents of v${{ steps.determine-major-version.outputs.MAJOR_VERSION }} API docs with the latest release of the SDK." - - PR_URL=$(gh pr create --title "$PR_TITLE" --body "$PR_BODY" --repo "${{ env.DOCS_REPO }}") - echo "PR_URL=$PR_URL" >> $GITHUB_OUTPUT - env: - GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - create-release-notes-pr: name: "Create Release Notes PR" needs: [ bump-version, run-ci ] @@ -325,7 +234,7 @@ jobs: create-code-pr: name: "Create Code PR" - needs: [ bump-version, run-ci, create-release, create-docs-pr, create-release-notes-pr ] + needs: [ bump-version, run-ci, create-release, create-release-notes-pr ] outputs: pr-url: ${{ steps.create-code-pr.outputs.PR_URL }} runs-on: ubuntu-latest @@ -354,18 +263,17 @@ jobs: PR_URL=$(gh pr create --title "Release ${{ needs.bump-version.outputs.release-version }}" --body "## TODOs - [ ] Review the changes in [the release commit]($COMMIT_URL) - [ ] Review **and approve** the [Release Notes PR](${{ needs.create-release-notes-pr.outputs.pr-url }}) - - [ ] Review **and approve** the [JavaDocs PR](${{ needs.create-docs-pr.outputs.pr-url }}) - [ ] Review the [Draft Release](${{ needs.create-release.outputs.release-url }}) - [ ] Review **and approve** this PR - [ ] Trigger the [Perform Release Workflow](${{ github.event.repository.html_url }}/actions/workflows/perform-release.yml) - - [ ] Once the `Perform Release` workflow is through, head over to the [OSS Repository](https://oss.sonatype.org/#stagingRepositories) and log in with the credentials in the Team Password Safe. There should be a staged release. Check whether everything looks good and, if so, publish the release.") + - [ ] Once the `Perform Release` workflow is through, head over to [Central Sonatype](https://central.sonatype.com/publishing/deployments) and log in with the credentials in the Team Password Safe. There should be a published release.") echo "PR_URL=$PR_URL" >> $GITHUB_OUTPUT env: GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} handle-failure: runs-on: ubuntu-latest - needs: [ bump-version, run-ci, create-release, create-docs-pr, create-release-notes-pr, create-code-pr ] + needs: [ bump-version, run-ci, create-release, create-release-notes-pr, create-code-pr ] permissions: contents: write # needed to delete the GitHub release if: ${{ failure() }} @@ -396,24 +304,9 @@ jobs: GITHUB_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} continue-on-error: true - - name: "Delete Docs PR" - if: ${{ needs.create-docs-pr.outputs.pr-url != '' }} - run: gh pr close --repo "${{ env.DOCS_REPO }}" ${{ needs.create-docs-pr.outputs.pr-url }} --delete-branch - env: - GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} - continue-on-error: true - - name: "Delete Release Notes PR" if: ${{ needs.create-release-notes-pr.outputs.pr-url != '' }} run: gh pr close --repo "${{ env.DOCS_REPO }}" ${{ needs.create-release-notes-pr.outputs.pr-url }} --delete-branch env: GH_TOKEN: ${{ secrets.BOT_SDK_JS_FOR_DOCS_REPO_PR }} continue-on-error: true - - - name: "Notify" - run: python .pipeline/scripts/notify.py - env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - WORKFLOW: ${{ github.workflow }} - WORKFLOW_RUN_URL: ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }} - BRANCH_NAME: ${{ github.event.inputs.branch }} diff --git a/.pipeline/scripts/generate-javadoc-sourcepath-properties.py b/.pipeline/scripts/generate-javadoc-sourcepath-properties.py deleted file mode 100644 index 5e596b64f..000000000 --- a/.pipeline/scripts/generate-javadoc-sourcepath-properties.py +++ /dev/null @@ -1,26 +0,0 @@ -import json - - -def write_javadoc_sourcepath_properties(): - with open("module-inventory.json", "r") as file: - module_inventory = json.load(file) - - with open("javadoc.properties", "w") as output: - output.write("javadoc.sourcepath = ") - - for i, module in enumerate(module_inventory, start=1): - if module["releaseAudience"] != "Public": - continue - target_path = module["pomFile"].replace("pom.xml", "target/delombok;") - if i == len(module_inventory): - output.write(target_path) - else: - output.write(target_path + "\\\n") - - -def main(): - write_javadoc_sourcepath_properties() - - -if __name__ == '__main__': - main() diff --git a/.pipeline/scripts/generate-release-artifacts.py b/.pipeline/scripts/generate-release-artifacts.py deleted file mode 100644 index 5e2c0596b..000000000 --- a/.pipeline/scripts/generate-release-artifacts.py +++ /dev/null @@ -1,198 +0,0 @@ -import os -import json -import argparse -import shutil - -pom_beginning = """ - - 4.0.0 - com.sap.cloud.sdk - sdkdist - ${sdkVersion} - - true - true - - - -""" - -pom_begin_install_plugin = """ - - org.apache.maven.plugins - maven-install-plugin - 3.1.1 - -""" - -pom_begin_deploy_plugin = """ - - org.apache.maven.plugins - maven-deploy-plugin - 3.1.1 - -""" - -pom_begin_gpg_plugin = """ - - org.apache.maven.plugins - maven-gpg-plugin - 3.1.0 - -""" - -pom_end_plugin = """ - - -""" - -pom_end = """ - - - -""" - - -def sanitize_path(*args): - return os.path.normpath(os.path.join(*args)) - - -def to_maven_path(*args): - return sanitize_path(*args).replace("\\", "/") - - -def get_module_source_path(module): - return module["pomFile"].replace("pom.xml", "target") - - -def get_module_dest_path(module): - return sanitize_path("artifacts", module["pomFile"].replace("pom.xml", "")) - - -def copy_artifact(source_path, target_path): - shutil.copyfile(source_path, target_path) - - -def copy_artifacts(path_prefix, sdk_version): - with open("module-inventory.json", "r") as file: - module_inventory = json.load(file) - - for module in module_inventory: - if module["releaseAudience"] != "Public": - continue - - dst_path = sanitize_path(path_prefix, get_module_dest_path(module)) - artifact_base_name = module["artifactId"] + "-" + sdk_version - os.makedirs(dst_path, exist_ok=True) - - shutil.copyfile(module["pomFile"], sanitize_path(dst_path, "pom.xml")) - - if module["packaging"] != "pom": - src_path = get_module_source_path(module) - - src_artifact = sanitize_path(src_path, artifact_base_name + ".jar") - dst_artifact = sanitize_path(dst_path, artifact_base_name + ".jar") - copy_artifact(src_artifact, dst_artifact) - - src_docs_artifact = sanitize_path(src_path, artifact_base_name + "-javadoc.jar") - if os.path.exists(src_docs_artifact): - dst_docs_artifact = sanitize_path(dst_path, artifact_base_name + "-javadoc.jar") - copy_artifact(src_docs_artifact, dst_docs_artifact) - - src_sources_artifact = sanitize_path(src_path, artifact_base_name + "-sources.jar") - if os.path.exists(src_sources_artifact): - dst_sources_artifact = sanitize_path(dst_path, artifact_base_name + "-sources.jar") - copy_artifact(src_sources_artifact, dst_sources_artifact) - - -def generate_execution(path_prefix, phase, goal, module, sdk_version): - artifact_path = to_maven_path(get_module_dest_path(module), module["artifactId"] + "-" + sdk_version) - file = artifact_path + "." + module["packaging"] - pom_path = to_maven_path("artifacts", module["pomFile"]) - packaging = module["packaging"] - sources = artifact_path + "-sources.jar" - if not os.path.exists(sanitize_path(path_prefix, sources)): - sources = "" - javadoc = artifact_path + "-javadoc.jar" - if not os.path.exists(sanitize_path(path_prefix, javadoc)): - javadoc = "" - if module["packaging"] == "pom": - file = pom_path - elif module["packaging"] == "maven-archetype" or module["packaging"] == "maven-plugin": - file = artifact_path + ".jar" - packaging = "jar" - return f""" - - {phase}-{module["artifactId"]} - {phase} - - {goal} - - - {file} - {sources} - {javadoc} - {pom_path} - {module["groupId"]} - {module["artifactId"]} - {sdk_version} - {packaging} - - - """ - - -def generate_pom(path_prefix, sdk_version, with_signing): - with open("module-inventory.json", "r") as file: - module_inventory = json.load(file) - - with open(sanitize_path(path_prefix, "pom.xml"), "w") as f: - f.write(pom_beginning.replace("${sdkVersion}", sdk_version)) - - f.write(pom_begin_install_plugin) - for module in module_inventory: - if module["releaseAudience"] == "Public": - f.write(generate_execution(path_prefix, "install", "install-file", module, sdk_version)) - f.write(pom_end_plugin) - - if with_signing is True: - f.write(pom_begin_gpg_plugin) - for module in module_inventory: - if module["releaseAudience"] == "Public": - f.write(generate_execution(path_prefix, "deploy", "sign-and-deploy-file", module, sdk_version)) - else: - f.write(pom_begin_deploy_plugin) - for module in module_inventory: - if module["releaseAudience"] == "Public": - f.write(generate_execution(path_prefix, "deploy", "deploy-file", module, sdk_version)) - f.write(pom_end_plugin) - - f.write(pom_end) - - -def main(): - parser: argparse.ArgumentParser = argparse.ArgumentParser( - description="Iterates the module inventory and generates a pom.xml file for installing or deploying all " - "module artifacts.") - parser.add_argument("--version", - help="Version of the artifacts.", - required=True) - parser.add_argument("--path-prefix", - help="Path in which to generate the release folder structure.", - required=True) - parser.add_argument("--with-signing", - action="store_true", - help="Specify whether to sign all artifacts during deployment.") - - args = parser.parse_args() - - if os.path.exists(args.path_prefix): - shutil.rmtree(args.path_prefix) - - copy_artifacts(args.path_prefix, args.version) - - generate_pom(args.path_prefix, args.version, args.with_signing) - - -if __name__ == '__main__': - main() diff --git a/archetypes/pom.xml b/archetypes/pom.xml index 044118dd4..29ee1a37b 100644 --- a/archetypes/pom.xml +++ b/archetypes/pom.xml @@ -34,12 +34,11 @@ spring-boot3 - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../ @@ -81,4 +80,36 @@ + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/archetypes/spring-boot3/pom.xml b/archetypes/spring-boot3/pom.xml index 4ba20f5e3..df240c6b1 100644 --- a/archetypes/spring-boot3/pom.xml +++ b/archetypes/spring-boot3/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable ${project.basedir}/../../ diff --git a/cloudplatform/caching/pom.xml b/cloudplatform/caching/pom.xml index 2baf152b9..970023123 100644 --- a/cloudplatform/caching/pom.xml +++ b/cloudplatform/caching/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/cloudplatform-connectivity-scp-cf/pom.xml b/cloudplatform/cloudplatform-connectivity-scp-cf/pom.xml index 4035fff06..8e7895e42 100644 --- a/cloudplatform/cloudplatform-connectivity-scp-cf/pom.xml +++ b/cloudplatform/cloudplatform-connectivity-scp-cf/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/cloudplatform-connectivity/pom.xml b/cloudplatform/cloudplatform-connectivity/pom.xml index e51c72a98..4afe2f1dc 100644 --- a/cloudplatform/cloudplatform-connectivity/pom.xml +++ b/cloudplatform/cloudplatform-connectivity/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/cloudplatform-core/pom.xml b/cloudplatform/cloudplatform-core/pom.xml index c6965858f..677f15f2b 100644 --- a/cloudplatform/cloudplatform-core/pom.xml +++ b/cloudplatform/cloudplatform-core/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - org.slf4j diff --git a/cloudplatform/connectivity-apache-httpclient4/pom.xml b/cloudplatform/connectivity-apache-httpclient4/pom.xml index 15fca1b0b..c634b6ed8 100644 --- a/cloudplatform/connectivity-apache-httpclient4/pom.xml +++ b/cloudplatform/connectivity-apache-httpclient4/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/connectivity-apache-httpclient5/pom.xml b/cloudplatform/connectivity-apache-httpclient5/pom.xml index cd4cbff56..ee4b289f5 100644 --- a/cloudplatform/connectivity-apache-httpclient5/pom.xml +++ b/cloudplatform/connectivity-apache-httpclient5/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Beta - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/connectivity-destination-service/pom.xml b/cloudplatform/connectivity-destination-service/pom.xml index 4eefce8d1..115e42634 100644 --- a/cloudplatform/connectivity-destination-service/pom.xml +++ b/cloudplatform/connectivity-destination-service/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/connectivity-dwc/pom.xml b/cloudplatform/connectivity-dwc/pom.xml index 9d223bd96..b25fb3035 100644 --- a/cloudplatform/connectivity-dwc/pom.xml +++ b/cloudplatform/connectivity-dwc/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Beta - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/connectivity-oauth/pom.xml b/cloudplatform/connectivity-oauth/pom.xml index 86c5a395e..034b0a914 100644 --- a/cloudplatform/connectivity-oauth/pom.xml +++ b/cloudplatform/connectivity-oauth/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Beta - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/connectivity-ztis/pom.xml b/cloudplatform/connectivity-ztis/pom.xml index ff94e180c..15d6f15e4 100644 --- a/cloudplatform/connectivity-ztis/pom.xml +++ b/cloudplatform/connectivity-ztis/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Beta - diff --git a/cloudplatform/dwc-cf/pom.xml b/cloudplatform/dwc-cf/pom.xml index 3b8e5ca21..f74d22200 100644 --- a/cloudplatform/dwc-cf/pom.xml +++ b/cloudplatform/dwc-cf/pom.xml @@ -30,14 +30,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk diff --git a/cloudplatform/pom.xml b/cloudplatform/pom.xml index c273b1541..3eac4118e 100644 --- a/cloudplatform/pom.xml +++ b/cloudplatform/pom.xml @@ -51,12 +51,43 @@ dwc-cf - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../ + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/cloudplatform/resilience-api/pom.xml b/cloudplatform/resilience-api/pom.xml index 96d284a9e..846d3d1c3 100644 --- a/cloudplatform/resilience-api/pom.xml +++ b/cloudplatform/resilience-api/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/resilience/pom.xml b/cloudplatform/resilience/pom.xml index 21ae51845..b9c9ab506 100644 --- a/cloudplatform/resilience/pom.xml +++ b/cloudplatform/resilience/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/resilience4j/pom.xml b/cloudplatform/resilience4j/pom.xml index f6000fae5..cb63ea868 100644 --- a/cloudplatform/resilience4j/pom.xml +++ b/cloudplatform/resilience4j/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/scp-cf/pom.xml b/cloudplatform/scp-cf/pom.xml index c9f91807c..ff16e1b9e 100644 --- a/cloudplatform/scp-cf/pom.xml +++ b/cloudplatform/scp-cf/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk diff --git a/cloudplatform/security/pom.xml b/cloudplatform/security/pom.xml index 98729777c..d8209b6c5 100644 --- a/cloudplatform/security/pom.xml +++ b/cloudplatform/security/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/servlet-jakarta/pom.xml b/cloudplatform/servlet-jakarta/pom.xml index 0e2a4b3f3..8def03760 100644 --- a/cloudplatform/servlet-jakarta/pom.xml +++ b/cloudplatform/servlet-jakarta/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/cloudplatform/tenant/pom.xml b/cloudplatform/tenant/pom.xml index 31ed85b59..b49e930c0 100644 --- a/cloudplatform/tenant/pom.xml +++ b/cloudplatform/tenant/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - com.sap.cloud.sdk.cloudplatform diff --git a/datamodel/datamodel-metadata-generator/pom.xml b/datamodel/datamodel-metadata-generator/pom.xml index ef313a27d..1c13dc607 100644 --- a/datamodel/datamodel-metadata-generator/pom.xml +++ b/datamodel/datamodel-metadata-generator/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Beta - diff --git a/datamodel/fluent-result/pom.xml b/datamodel/fluent-result/pom.xml index ae46f8bd7..2c409b5be 100644 --- a/datamodel/fluent-result/pom.xml +++ b/datamodel/fluent-result/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Stable - org.slf4j diff --git a/datamodel/odata-client/pom.xml b/datamodel/odata-client/pom.xml index 17873a475..06c238ef8 100644 --- a/datamodel/odata-client/pom.xml +++ b/datamodel/odata-client/pom.xml @@ -29,14 +29,6 @@ https://www.sap.com - - - - - - Public - Stable - diff --git a/datamodel/odata-generator-utility/pom.xml b/datamodel/odata-generator-utility/pom.xml index 7316b6ec4..3f523c95c 100644 --- a/datamodel/odata-generator-utility/pom.xml +++ b/datamodel/odata-generator-utility/pom.xml @@ -28,15 +28,9 @@ https://www.sap.com - - - - true - Public - Beta diff --git a/datamodel/odata-v4/odata-v4-api-sample/pom.xml b/datamodel/odata-v4/odata-v4-api-sample/pom.xml index 0a325d71d..9157453d5 100644 --- a/datamodel/odata-v4/odata-v4-api-sample/pom.xml +++ b/datamodel/odata-v4/odata-v4-api-sample/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - None - Stable - com.sap.cloud.sdk.datamodel @@ -197,4 +189,29 @@ + + + release + + + release + + + + + + + org.sonatype.central + central-publishing-maven-plugin + + + injected-central-publishing + + + + + + + + diff --git a/datamodel/odata-v4/odata-v4-core/pom.xml b/datamodel/odata-v4/odata-v4-core/pom.xml index ff8aec790..e59599ab8 100644 --- a/datamodel/odata-v4/odata-v4-core/pom.xml +++ b/datamodel/odata-v4/odata-v4-core/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable false diff --git a/datamodel/odata-v4/odata-v4-generator-maven-plugin/pom.xml b/datamodel/odata-v4/odata-v4-generator-maven-plugin/pom.xml index 828444cab..06d8ca798 100644 --- a/datamodel/odata-v4/odata-v4-generator-maven-plugin/pom.xml +++ b/datamodel/odata-v4/odata-v4-generator-maven-plugin/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/odata-v4/odata-v4-generator/pom.xml b/datamodel/odata-v4/odata-v4-generator/pom.xml index cf7f041c6..b48fd9ef4 100644 --- a/datamodel/odata-v4/odata-v4-generator/pom.xml +++ b/datamodel/odata-v4/odata-v4-generator/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/odata-v4/pom.xml b/datamodel/odata-v4/pom.xml index 9ebb8f683..1952ca42b 100644 --- a/datamodel/odata-v4/pom.xml +++ b/datamodel/odata-v4/pom.xml @@ -36,14 +36,56 @@ odata-v4-api-sample - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../../ true + + + non-release + + + !release + + + + odata-v4-api-sample + + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/datamodel/odata/odata-api-sample/pom.xml b/datamodel/odata/odata-api-sample/pom.xml index ea1a0af6b..56bc6553f 100644 --- a/datamodel/odata/odata-api-sample/pom.xml +++ b/datamodel/odata/odata-api-sample/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - None - Stable - com.sap.cloud.sdk.cloudplatform @@ -227,4 +219,29 @@ + + + release + + + release + + + + + + + org.sonatype.central + central-publishing-maven-plugin + + + injected-central-publishing + + + + + + + + diff --git a/datamodel/odata/odata-core/pom.xml b/datamodel/odata/odata-core/pom.xml index 06b78d326..e3d849e27 100644 --- a/datamodel/odata/odata-core/pom.xml +++ b/datamodel/odata/odata-core/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable false diff --git a/datamodel/odata/odata-generator-maven-plugin/pom.xml b/datamodel/odata/odata-generator-maven-plugin/pom.xml index 99bde7636..4d430a94c 100644 --- a/datamodel/odata/odata-generator-maven-plugin/pom.xml +++ b/datamodel/odata/odata-generator-maven-plugin/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/odata/odata-generator/pom.xml b/datamodel/odata/odata-generator/pom.xml index 492be4760..212004412 100644 --- a/datamodel/odata/odata-generator/pom.xml +++ b/datamodel/odata/odata-generator/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/odata/pom.xml b/datamodel/odata/pom.xml index cc58fbd88..6967345f2 100644 --- a/datamodel/odata/pom.xml +++ b/datamodel/odata/pom.xml @@ -36,12 +36,54 @@ odata-api-sample - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../../ + + + non-release + + + !release + + + + odata-api-sample + + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/datamodel/openapi/openapi-api-sample/pom.xml b/datamodel/openapi/openapi-api-sample/pom.xml index 8c573b9c1..61fd6e063 100644 --- a/datamodel/openapi/openapi-api-sample/pom.xml +++ b/datamodel/openapi/openapi-api-sample/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - None - Stable - com.sap.cloud.sdk.datamodel @@ -194,4 +186,29 @@ + + + release + + + release + + + + + + + org.sonatype.central + central-publishing-maven-plugin + + + injected-central-publishing + + + + + + + + diff --git a/datamodel/openapi/openapi-core/pom.xml b/datamodel/openapi/openapi-core/pom.xml index e30b4f26d..f37866a5e 100644 --- a/datamodel/openapi/openapi-core/pom.xml +++ b/datamodel/openapi/openapi-core/pom.xml @@ -28,13 +28,7 @@ https://www.sap.com - - - - - Public - Stable false diff --git a/datamodel/openapi/openapi-generator-maven-plugin/pom.xml b/datamodel/openapi/openapi-generator-maven-plugin/pom.xml index 8e1e34631..7d05bc26b 100644 --- a/datamodel/openapi/openapi-generator-maven-plugin/pom.xml +++ b/datamodel/openapi/openapi-generator-maven-plugin/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/openapi/openapi-generator/pom.xml b/datamodel/openapi/openapi-generator/pom.xml index 965c096d0..5a887da34 100644 --- a/datamodel/openapi/openapi-generator/pom.xml +++ b/datamodel/openapi/openapi-generator/pom.xml @@ -29,13 +29,7 @@ https://www.sap.com - - - - - Public - Stable true diff --git a/datamodel/openapi/pom.xml b/datamodel/openapi/pom.xml index 4498970c9..6e7163b2a 100644 --- a/datamodel/openapi/pom.xml +++ b/datamodel/openapi/pom.xml @@ -36,12 +36,11 @@ openapi-api-sample - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../../ @@ -54,4 +53,47 @@ + + + non-release + + + !release + + + + openapi-api-sample + + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/datamodel/pom.xml b/datamodel/pom.xml index b9c631310..cad182a1b 100644 --- a/datamodel/pom.xml +++ b/datamodel/pom.xml @@ -42,12 +42,43 @@ odata-generator-utility - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../ + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/datamodel/soap/pom.xml b/datamodel/soap/pom.xml index 7821e1bed..52cd92a79 100644 --- a/datamodel/soap/pom.xml +++ b/datamodel/soap/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - diff --git a/dependency-bundles/bom/pom.xml b/dependency-bundles/bom/pom.xml index 99b4f519f..abce63b47 100644 --- a/dependency-bundles/bom/pom.xml +++ b/dependency-bundles/bom/pom.xml @@ -26,14 +26,14 @@ https://www.sap.com - - - - + + + central + https://central.sonatype.com/api/v1/publisher/upload + + UTF-8 - Public - Stable 5.21.0-SNAPSHOT 0.21.0 @@ -274,4 +274,199 @@ + + + release + + + release + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.3.1 + + + attach-sources + package + + jar-no-fork + + + + + + org.projectlombok + lombok-maven-plugin + 1.18.20.0 + + + delombok + process-sources + + delombok + + + ${project.basedir}/src/main/java + ${project.build.directory}/delombok + + + + + + org.projectlombok + lombok + 1.18.38 + + + + false + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.11.2 + + + javadoc-jar + + jar + + + + + true + -Xdoclint:none + protected + ${project.basedir}/target/delombok + + + + org.apache.maven.plugins + maven-install-plugin + 3.1.4 + + + install + + install-file + + + ${project.basedir}/target/${project.artifactId}-${project.version}.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-sources.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-javadoc.jar + ${project.basedir}/pom.xml + ${project.groupId} + ${project.artifactId} + ${project.version} + ${project.packaging} + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + + true + + + + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 + true + + SAP AI SDK ${project.version} + central + false + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.6.0 + + true + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.26.0 + + true + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.9.3.0 + + true + + + + org.apache.maven.plugins + maven-source-plugin + + + org.projectlombok + lombok-maven-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + com.sap.cloud.sdk + sdk-bom + ${sdk.version} + pom + + ${empty.property} + ${empty.property} + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + + sign-artifacts + verify + + sign + + + + + + + + diff --git a/dependency-bundles/modules-bom/pom.xml b/dependency-bundles/modules-bom/pom.xml index 12069fc98..d8cd911a0 100644 --- a/dependency-bundles/modules-bom/pom.xml +++ b/dependency-bundles/modules-bom/pom.xml @@ -26,14 +26,19 @@ https://www.sap.com + + + central + https://central.sonatype.com/api/v1/publisher/upload + + - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main UTF-8 - Public - Stable 5.21.0-SNAPSHOT @@ -207,4 +212,201 @@ + + + release + + + release + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.3.1 + + + attach-sources + package + + jar-no-fork + + + + + + org.projectlombok + lombok-maven-plugin + 1.18.20.0 + + + delombok + process-sources + + delombok + + + ${project.basedir}/src/main/java + ${project.build.directory}/delombok + + + + + + org.projectlombok + lombok + 1.18.38 + + + + false + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.11.2 + + + javadoc-jar + + jar + + + + + true + -Xdoclint:none + protected + ${project.basedir}/target/delombok + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-install-plugin + 3.1.4 + + + install + + install-file + + + ${project.basedir}/target/${project.artifactId}-${project.version}.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-sources.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-javadoc.jar + ${project.basedir}/pom.xml + ${project.groupId} + ${project.artifactId} + ${project.version} + ${project.packaging} + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + + true + + + + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 + true + + SAP AI SDK ${project.version} + central + false + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.6.0 + + true + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.26.0 + + true + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.9.3.0 + + true + + + + org.apache.maven.plugins + maven-source-plugin + + + org.projectlombok + lombok-maven-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-gpg-plugin + + + + org.apache.maven.plugins + maven-install-plugin + + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + false + + + org.sonatype.central + central-publishing-maven-plugin + + + + + diff --git a/dependency-bundles/sdk-core/pom.xml b/dependency-bundles/sdk-core/pom.xml index 2217a6dd8..01c185e18 100644 --- a/dependency-bundles/sdk-core/pom.xml +++ b/dependency-bundles/sdk-core/pom.xml @@ -30,8 +30,6 @@ - Public - Stable ${project.basedir}/../../ diff --git a/pom.xml b/pom.xml index b6e9f3fbb..26bbb22c3 100644 --- a/pom.xml +++ b/pom.xml @@ -37,19 +37,17 @@ dependency-bundles/sdk-core - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable 5.21.0-SNAPSHOT 3.5 17 true - ${project.basedir} UTF-8 UTF-8 @@ -123,6 +121,7 @@ 2.4 1.18.0 1.11.0 + 3.0.2 true 3.14.0 full @@ -419,11 +418,13 @@ org.junit.jupiter junit-jupiter-engine + ${junit.jupiter.version} test com.google.code.findbugs jsr305 + ${findbugs-jsr305.version} ${jsr305.optional} @@ -444,307 +445,6 @@ - - org.apache.maven.plugins - maven-enforcer-plugin - 3.6.0 - - - enforce-project-rules - - enforce - - - - - ${maven.version} - - - ${java.version} - - - - - - - - - ban-deprecated-dependencies - - enforce - - - - - Do not use deprecated dependencies. - - javax.servlet:servlet-api - javax.ws.rs:jsr311-api - - commons-httpclient:commons-httpclient - - - - - - - ban-logging-frameworks - - enforce - - - ${enforcer.skipBanLoggingFrameworks} - - - Do not use and do exclude all transitive uses of logging frameworks. - - org.slf4j:slf4j-simple - commons-logging - ch.qos.logback - org.apache.logging.log4j - org.apache.log4j - log4j - org.tinylog - - - org.slf4j:slf4j-simple:*:*:test - - - - - - - enforce-scope-logger-bridges - - enforce - - - ${enforcer.skipEnforceScopeLoggerBridges} - - - Logger bridges must use scope runtime or test. - - org.slf4j:jul-to-slf4j - org.slf4j:jcl-over-slf4j - org.slf4j:log4j-over-slf4j - - - org.slf4j:jul-to-slf4j:*:*:runtime - org.slf4j:jul-to-slf4j:*:*:test - org.slf4j:jcl-over-slf4j:*:*:runtime - org.slf4j:jcl-over-slf4j:*:*:test - org.slf4j:log4j-over-slf4j:*:*:runtime - org.slf4j:log4j-over-slf4j:*:*:test - - - - - - - enforce-scope-javaee - - enforce - - - ${enforcer.skipEnforceScopeJavaEE} - - - Use Java EE modules with scope provided or test. - - javax:javaee-api - javax.inject:javax.inject - javax.ws.rs:javax.ws.rs-api - - - javax:javaee-api:*:*:provided - javax:javaee-api:*:*:test - javax.ws.rs:javax.ws.rs-api:*:*:provided - javax.ws.rs:javax.ws.rs-api:*:*:test - - - - - - - enforce-scope-lombok - - enforce - - - ${enforcer.skipEnforceScopeLombok} - - - Use lombok with scope provided. - - org.projectlombok:lombok - - - org.projectlombok:lombok:*:*:provided - - - - - - - ban-api-dependencies - - enforce - - - ${enforcer.skipBanGeneratedModulesReference} - - - Do not reference generated API modules (or modules transitively - referencing generated API modules), as they might be removed by profiles. - - com.sap.cloud.sdk.datamodel:odata-api-sample - com.sap.cloud.sdk.datamodel:odata-v4-api-sample - com.sap.cloud.sdk.datamodel:openapi-api-sample - - - - - - - ban-old-junit - - enforce - - - ${enforcer.skipBanJunit4} - - - Do not use JUnit 4.X, instead exclusively use Junit Jupiter. JUnit 4 tests will (silently) simply not be executed. - - junit:junit - - - - - - - - true - - - - net.revelc.code.formatter - formatter-maven-plugin - 2.23.0 - - - - format - - - - - ${skipFormatting} - ${project.build.javaCodeFormatter} - ${project.build.sourceEncoding} - - ${project.basedir}/src/main/java - ${project.basedir}/src/test/java - - - - - net.revelc.code - impsort-maven-plugin - 1.12.0 - - - - sort - - - - - ${skipFormatting} - java.,javax.,org.,com. - java,* - false - true - ${java.version} - - **/test/resources/** - - - - - com.github.ekryd.sortpom - sortpom-maven-plugin - 2.15.0 - - - - sort - - - - - ${skipFormatting} - ${project.build.sourceEncoding} - false - false - - -1 - none - none - false - false - stop - strict - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.8.1 - - - analyze - process-test-classes - - analyze-only - - - - analyze-dep-mgt - process-test-classes - - analyze-dep-mgt - - - - analyze-duplicate - process-test-classes - - analyze-duplicate - - - - - true - true - false - true - - - com.google.code.findbugs:jsr305 - - org.slf4j:slf4j-api - org.slf4j:jcl-over-slf4j - org.slf4j:slf4j-simple - - org.projectlombok:lombok - - org.junit.jupiter:junit-jupiter-engine - - commons-beanutils:commons-beanutils - - - org.apache.maven.plugins maven-clean-plugin @@ -766,34 +466,11 @@ - - org.apache.maven.plugins - maven-resources-plugin - 3.3.1 - org.apache.maven.plugins maven-jar-plugin 3.4.2 - - org.apache.maven.plugins - maven-install-plugin - 3.1.4 - - - org.apache.maven.plugins - maven-deploy-plugin - 3.1.4 - - 3 - - - - org.apache.maven.plugins - maven-site-plugin - 3.21.0 - org.apache.maven.plugins maven-archetype-plugin @@ -804,247 +481,6 @@ maven-plugin-plugin 3.15.1 - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - remove-old-artifacts - verify - - remove-project-artifact - - - false - false - - - - add-source - generate-sources - - add-source - - - - ${project.build.generated-sources} - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.13 - - - prepare-agent - - prepare-agent - - - ${jacoco.executionDataFile} - - - - report - - report - - - ${jacoco.executionDataFile} - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.5.3 - - - ${surefire.include} - - - ${surefire.exclude} - - ${surefire.forkCount} - false - ${surefire.groups} - ${surefire.excludedGroups} - - ${project.build.directory}/surefire-fork/${surefire.forkNumber}/ - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.6.0 - - - com.puppycrawl.tools - checkstyle - ${checkstyle.version} - - - - ${project.rootdir}/codestyle/checkstyle.xml - false - false - false - ${codeAnalysisExclusions} - - - - com.github.spotbugs - spotbugs-maven-plugin - 4.9.3.2 - - ${project.rootdir}/codestyle/findbugs.xml - ${project.rootdir}/codestyle/spotbugs-exclusions.xml - Max - Low - 2048 - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.27.0 - - - ${project.rootdir}/codestyle/pmd.xml - ${project.rootdir}/codestyle/sdk_specific_pmd_rules.xml - - /rulesets/java/maven-pmd-plugin-default.xml - - false - ${java.version} - - ${codeAnalysisExclusions} - - - - - org.projectlombok - lombok-maven-plugin - 1.18.20.0 - - - delombok - generate-sources - - delombok - - - ${project.basedir}/src/main/java - ${project.build.directory}/delombok - - - - test-delombok - generate-test-sources - - testDelombok - - - ${project.basedir}/src/test/java - ${project.build.directory}/delombok-test - - - - - - org.projectlombok - lombok - 1.18.38 - - - - false - - - - org.codehaus.mojo - properties-maven-plugin - 1.2.1 - - - initialize - - read-project-properties - - - - ${project.rootdir}/javadoc.properties - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.11.2 - - - javadoc-jar - - jar - - - - javadoc-aggregate - - aggregate - - - - - true - ${javadoc.opts} - protected - - - Cloud Platform - com.sap.cloud.sdk.cloudplatform* - - - Utility Packages - com.sap.cloud.sdk.datamodel* :com.sap.cloud.sdk.result*:* - :com.sap.cloud.sdk.scp* :com.sap.cloud.sdk.testutil* - :com.sap.cloud.sdk.typeconverter* :com.sap.marmolata* :com.sap.security* - :org.eclipse* - - - SAP S/4HANA - com.sap.cloud.sdk.s4hana* - - - ${project.basedir}/target/delombok; ${javadoc.sourcepath} - ${project.rootdir}/javadoc.overview.html - - - - org.apache.maven.plugins - maven-source-plugin - 3.3.1 - - - - jar-no-fork - - - - - true - - com.sap.cloud.sdk.datamodel openapi-generator-maven-plugin @@ -1054,105 +490,653 @@ true - - org.apache.maven.plugins - maven-shade-plugin - 3.6.0 - + org.apache.maven.plugins maven-enforcer-plugin + 3.6.0 + + + enforce-project-rules + + enforce + + + + + ${maven.version} + + + ${java.version} + + + + + + + + + ban-deprecated-dependencies + + enforce + + + + + Do not use deprecated dependencies. + + javax.servlet:servlet-api + javax.ws.rs:jsr311-api + + commons-httpclient:commons-httpclient + + + + + + + ban-logging-frameworks + + enforce + + + ${enforcer.skipBanLoggingFrameworks} + + + Do not use and do exclude all transitive uses of logging frameworks. + + org.slf4j:slf4j-simple + commons-logging + ch.qos.logback + org.apache.logging.log4j + org.apache.log4j + log4j + org.tinylog + + + org.slf4j:slf4j-simple:*:*:test + + + + + + + enforce-scope-logger-bridges + + enforce + + + ${enforcer.skipEnforceScopeLoggerBridges} + + + Logger bridges must use scope runtime or test. + + org.slf4j:jul-to-slf4j + org.slf4j:jcl-over-slf4j + org.slf4j:log4j-over-slf4j + + + org.slf4j:jul-to-slf4j:*:*:runtime + org.slf4j:jul-to-slf4j:*:*:test + org.slf4j:jcl-over-slf4j:*:*:runtime + org.slf4j:jcl-over-slf4j:*:*:test + org.slf4j:log4j-over-slf4j:*:*:runtime + org.slf4j:log4j-over-slf4j:*:*:test + + + + + + + enforce-scope-javaee + + enforce + + + ${enforcer.skipEnforceScopeJavaEE} + + + Use Java EE modules with scope provided or test. + + javax:javaee-api + javax.inject:javax.inject + javax.ws.rs:javax.ws.rs-api + + + javax:javaee-api:*:*:provided + javax:javaee-api:*:*:test + javax.ws.rs:javax.ws.rs-api:*:*:provided + javax.ws.rs:javax.ws.rs-api:*:*:test + + + + + + + enforce-scope-lombok + + enforce + + + ${enforcer.skipEnforceScopeLombok} + + + Use lombok with scope provided. + + org.projectlombok:lombok + + + org.projectlombok:lombok:*:*:provided + + + + + + + ban-old-junit + + enforce + + + ${enforcer.skipBanJunit4} + + + Do not use JUnit 4.X, instead exclusively use Junit Jupiter. JUnit 4 tests will (silently) simply not be executed. + + junit:junit + + + + + + + ban-api-dependencies + + enforce + + + ${enforcer.skipBanGeneratedModulesReference} + + + Do not reference generated API modules (or modules transitively + referencing generated API modules), as they might be removed by profiles. + + com.sap.cloud.sdk.datamodel:odata-api-sample + com.sap.cloud.sdk.datamodel:odata-v4-api-sample + com.sap.cloud.sdk.datamodel:openapi-api-sample + + + + + + + net.revelc.code.formatter formatter-maven-plugin + 2.23.0 + + + + format + + + + + ${skipFormatting} + ${project.build.javaCodeFormatter} + ${project.build.sourceEncoding} + + ${project.basedir}/src/main/java + ${project.basedir}/src/test/java + + net.revelc.code impsort-maven-plugin + 1.12.0 + + + + sort + + + + + ${skipFormatting} + java.,javax.,org.,com. + java,* + false + true + ${java.version} + + **/test/resources/** + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.3.1 + org.apache.maven.plugins maven-dependency-plugin + 3.8.1 + + true + true + false + true + + + com.google.code.findbugs:jsr305 + + org.slf4j:slf4j-api + org.slf4j:jcl-over-slf4j + org.slf4j:slf4j-simple + + org.projectlombok:lombok + + org.junit.jupiter:junit-jupiter-engine + + commons-beanutils:commons-beanutils + + + + + analyze + + analyze-only + + process-test-classes + + + analyze-dep-mgt + + analyze-dep-mgt + + process-test-classes + + + analyze-duplicate + + analyze-duplicate + + process-test-classes + + + + org.apache.maven.plugins - maven-checkstyle-plugin + maven-surefire-plugin + 3.5.3 + + + ${surefire.include} + + + ${surefire.exclude} + + ${surefire.forkCount} + false + ${surefire.groups} + ${surefire.excludedGroups} + + ${project.build.directory}/surefire-fork/${surefire.forkNumber}/ + + + - com.github.spotbugs - spotbugs-maven-plugin + org.apache.maven.plugins + maven-checkstyle-plugin + 3.6.0 + + ${project.rootdir}/codestyle/checkstyle.xml + false + false + false + ${codeAnalysisExclusions} + + + + com.puppycrawl.tools + checkstyle + ${checkstyle.version} + + org.apache.maven.plugins maven-pmd-plugin + 3.27.0 + + + ${project.rootdir}/codestyle/pmd.xml + ${project.rootdir}/codestyle/sdk_specific_pmd_rules.xml + + /rulesets/java/maven-pmd-plugin-default.xml + + false + ${java.version} + + ${codeAnalysisExclusions} + + org.codehaus.mojo build-helper-maven-plugin + 3.6.1 + + + add-source + generate-sources + + add-source + + + + ${project.build.generated-sources} + + + + org.jacoco jacoco-maven-plugin + 0.8.13 + + + prepare-agent + + prepare-agent + + + ${jacoco.executionDataFile} + + + + report + + report + + + ${jacoco.executionDataFile} + + + - org.apache.maven.plugins - maven-surefire-plugin - - - com.github.ekryd.sortpom - sortpom-maven-plugin + com.github.spotbugs + spotbugs-maven-plugin + 4.9.3.2 + + ${project.rootdir}/codestyle/findbugs.xml + ${project.rootdir}/codestyle/spotbugs-exclusions.xml + Max + Low + 2048 + - disable-doclint-java8 - - [1.8,) - + skip-openapi-vdm-generation - -Xdoclint:none + true - docs + release - docs + release + - - - ${project.build.directory}/apidocs - false - ${project.rootdir} - - LICENSE - - - + + + + + org.apache.maven.plugins + maven-source-plugin + 3.3.1 + + + attach-sources + + jar-no-fork + + package + + + + + org.projectlombok + lombok-maven-plugin + 1.18.20.0 + + false + + + + org.projectlombok + lombok + 1.18.38 + + + + + delombok + + delombok + + process-sources + + ${project.basedir}/src/main/java + ${project.build.directory}/delombok + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.11.2 + + true + none + protected + + + Cloud Platform + com.sap.cloud.sdk.cloudplatform* + + + Utility Packages + com.sap.cloud.sdk.datamodel* :com.sap.cloud.sdk.result*:* + :com.sap.cloud.sdk.scp* :com.sap.cloud.sdk.testutil* + :com.sap.cloud.sdk.typeconverter* :com.sap.marmolata* :com.sap.security* + :org.eclipse* + + + SAP S/4HANA + com.sap.cloud.sdk.s4hana* + + + ${project.basedir}/target/delombok + ${project.rootdir}/javadoc.overview.html + + + + javadoc-jar + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + + sign-artifacts + + sign + + verify + + + + + org.apache.maven.plugins + maven-install-plugin + 3.1.4 + + + + install-file + + install + + ${project.basedir}/target/${project.artifactId}-${project.version}.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-sources.jar + ${project.basedir}/target/${project.artifactId}-${project.version}-javadoc.jar + ${project.basedir}/pom.xml + ${project.groupId} + ${project.artifactId} + ${project.version} + ${project.packaging} + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + + true + + + + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 + true + + SAP Cloud SDK ${project.version} + central + false + + + + + org.codehaus.mojo + flatten-maven-plugin + 1.7.1 + + + flatten + process-resources + + flatten + + + + flatten.clean + + clean + + + + + + oss + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + true + + + + org.apache.maven.plugins + maven-pmd-plugin + + true + + + + com.github.spotbugs + spotbugs-maven-plugin + + true + + + + org.apache.maven.plugins + maven-source-plugin + org.projectlombok lombok-maven-plugin - org.codehaus.mojo - properties-maven-plugin - false + org.apache.maven.plugins + maven-javadoc-plugin org.apache.maven.plugins - maven-javadoc-plugin + maven-gpg-plugin + + + org.codehaus.mojo + flatten-maven-plugin + org.apache.maven.plugins - maven-source-plugin + maven-install-plugin + false + + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + org.sonatype.central + central-publishing-maven-plugin @@ -1168,11 +1152,5 @@ testutil - - skip-openapi-vdm-generation - - true - - diff --git a/s4hana/pom.xml b/s4hana/pom.xml index 73d35ba74..cccb624cc 100644 --- a/s4hana/pom.xml +++ b/s4hana/pom.xml @@ -39,12 +39,43 @@ s4hana-connectivity - - + scm:git:git://github.com/SAP/cloud-sdk-java.git + scm:git:ssh://github.com:SAP/cloud-sdk-java.git + https://github.com/SAP/cloud-sdk-java/tree/main - Public - Stable ${project.basedir}/../../ + + + release + + + release + + + + + + org.apache.maven.plugins + maven-install-plugin + + + install + + install-file + + + ${project.basedir}/pom.xml + + ${empty.property} + ${empty.property} + + + + + + + + diff --git a/s4hana/rfc/pom.xml b/s4hana/rfc/pom.xml index 4a03f6fbf..f9f090843 100644 --- a/s4hana/rfc/pom.xml +++ b/s4hana/rfc/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk.cloudplatform diff --git a/s4hana/s4hana-connectivity/pom.xml b/s4hana/s4hana-connectivity/pom.xml index e0e5c247a..69ae2c241 100644 --- a/s4hana/s4hana-connectivity/pom.xml +++ b/s4hana/s4hana-connectivity/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk.cloudplatform diff --git a/s4hana/s4hana-core/pom.xml b/s4hana/s4hana-core/pom.xml index 06a29024e..b8d1d1e26 100644 --- a/s4hana/s4hana-core/pom.xml +++ b/s4hana/s4hana-core/pom.xml @@ -28,14 +28,6 @@ https://www.sap.com - - - - - - Public - Deprecated - com.sap.cloud.sdk.cloudplatform diff --git a/testutil/pom.xml b/testutil/pom.xml index 71559dd3b..e4dcbda2e 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -28,14 +28,7 @@ https://www.sap.com - - - - - None - Stable - true true ${project.basedir}/../ @@ -91,4 +84,29 @@ provided + + + release + + + release + + + + + + + org.sonatype.central + central-publishing-maven-plugin + + + injected-central-publishing + + + + + + + +