diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..63caf3f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +* @infonl/sbl + diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..5f4516b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,19 @@ +--- +name: Bug report +about: 'Steps to reproduce the bug. ' +title: 'BUG: ' +labels: bug +assignees: '' + +--- + +***Steps to reproduce:*** + +1. +2. +3. + +***Expected*** + + +***Actual*** diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 0000000..48d5f81 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,10 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. +title: '' +labels: '' +assignees: '' + +--- + + diff --git a/.github/ISSUE_TEMPLATE/user-story.md b/.github/ISSUE_TEMPLATE/user-story.md new file mode 100644 index 0000000..d82660a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/user-story.md @@ -0,0 +1,35 @@ +--- +name: User story +about: The user story describes the type of user, what they want and why. +title: '' +labels: user story +assignees: '' + +--- + +***Als*** + +***Wil ik*** + +***Zodat*** + +*** + +### Acceptance criteria: +- + +*** +### Prioriteit +*Verwijder wat niet van toepassing is:* +- Must haves +- Should haves +- Could haves +- Won't haves + +*** +### Gerealiseerd +_Omschrijving van de op te leveren functionaliteit in deze story_ + +***Belangrijkste functionaliteiten:*** +- +- diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..c144389 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,32 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +version: 2 +updates: + - package-ecosystem: "gradle" + directory: "/" + schedule: + interval: "daily" + time: "04:00" + timezone: "Europe/Amsterdam" + reviewers: + - "infonl/sbl" + + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "daily" + time: "04:00" + timezone: "Europe/Amsterdam" + reviewers: + - "infonl/sbl" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + time: "04:00" + timezone: "Europe/Amsterdam" + reviewers: + - "infonl/sbl" diff --git a/.github/workflows/build-test-deploy.yml b/.github/workflows/build-test-deploy.yml new file mode 100644 index 0000000..7333732 --- /dev/null +++ b/.github/workflows/build-test-deploy.yml @@ -0,0 +1,132 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +name: Build, test & deploy + +on: + pull_request: + merge_group: + workflow_dispatch: + push: + branches: + - main + +# cancel any previous runs of this workflow for this branch that are still in progress +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + JAVA_VERSION: '21' + CONTAINER_REGISTRY_URL: 'ghcr.io/infonl' + APPLICATION_NAME: 'lib-sepa' + +permissions: + contents: write + packages: write + checks: write + pull-requests: write + # Required for uploading SARIF reports + security-events: write + +jobs: + build: + runs-on: ubuntu-22.04 + timeout-minutes: 30 + outputs: + branch_name: ${{ steps.gen_branch_name.outputs.BRANCH_NAME }} + build_number: ${{ steps.gen_build_number.outputs.BUILD_NUMBER }} + steps: + - uses: actions/checkout@v4 + + - name: Set branch name + id: gen_branch_name + run: echo "BRANCH_NAME=${{ github.ref_name }}" | sed 's/\//_/g; s/(//g; s/)//g' >> $GITHUB_OUTPUT + + - name: Set build number + id: gen_build_number + run: echo "BUILD_NUMBER=${{ steps.gen_branch_name.outputs.BRANCH_NAME }}-${{ github.run_number }}" >> $GITHUB_OUTPUT + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: 'temurin' + cache: 'gradle' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Validate Gradle wrapper + uses: gradle/actions/wrapper-validation@v4 + + - name: Gradle build + run: ./gradlew build -Pversion=${{ steps.gen_branch_name.outputs.BRANCH_NAME }}-${{ github.run_number }} --info + + - name: Publish unit test results + uses: EnricoMi/publish-unit-test-result-action@v2 + if: always() + with: + check_name: unit-test-results + files: | + build/test-results/**/*.xml + + - name: Cache Gradle build + uses: actions/cache/save@v4 + with: + path: | + build + key: build-${{ github.repository }}-${{ github.ref_name }}-${{ github.run_number }} + + dependabot-auto-merge: + needs: [build] + runs-on: ubuntu-22.04 + if: github.actor == 'dependabot[bot]' + permissions: + pull-requests: write + contents: write + steps: + - uses: fastify/github-action-merge-dependabot@v3 + with: + # Our Dependabot PRs are not merged automatically because an automatically merged PR + # does not trigger our push workflow (and so no release would be made). + # see: https://github.com/fastify/github-action-merge-dependabot/issues/134 + approve-only: true + target: minor + + publish-release: + needs: [build] + runs-on: ubuntu-22.04 + timeout-minutes: 30 + if: github.ref == 'refs/heads/main' + steps: + - uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: 'temurin' + cache: 'gradle' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Validate Gradle wrapper + uses: gradle/actions/wrapper-validation@v4 + + - name: Restore Gradle build + uses: actions/cache/restore@v4 + with: + path: build + key: build-${{ github.repository }}-${{ github.ref_name }}-${{ github.run_number }} + + # Determine the next semantic version based on the commit message tags + # See https://github.com/thenativeweb/get-next-version + - name: Get next version + id: get_next_version + uses: thenativeweb/get-next-version@2.6.3 + + - name: Gradle publish + run: ./gradlew publish -Pversion=${{ steps.get_next_version.outputs.version }} --info diff --git a/.github/workflows/check-for-conventional-commits.yml b/.github/workflows/check-for-conventional-commits.yml new file mode 100644 index 0000000..7b22a59 --- /dev/null +++ b/.github/workflows/check-for-conventional-commits.yml @@ -0,0 +1,18 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +name: Check for conventional commits + +on: + pull_request: + types: [opened, edited, synchronize] + merge_group: + +jobs: + check-for-conventional-commits: + runs-on: ubuntu-latest + steps: + - name: check-for-cc + id: check-for-cc + uses: agenthunt/conventional-commit-checker-action@v2.0.0 diff --git a/.github/workflows/clean-up-cache-on-pr-close.yml b/.github/workflows/clean-up-cache-on-pr-close.yml new file mode 100644 index 0000000..cf0404f --- /dev/null +++ b/.github/workflows/clean-up-cache-on-pr-close.yml @@ -0,0 +1,19 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +name: Cleanup cache after PR close + +on: + pull_request: + types: + - closed + +jobs: + cleanup-branch-cache: + runs-on: ubuntu-latest + steps: + - uses: snnaplab/delete-branch-cache-action@v1 + with: + # Specify explicitly because the ref at the time of merging will be a branch name such as 'main', 'develop' + ref: refs/pull/${{ github.event.pull_request.number }}/merge diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..a5b6c00 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,62 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +name: "CodeQL" + +on: + push: + branches: [main] + pull_request: + branches: [main] + # ignore code analysis when only Markdown files have changed + paths-ignore: + - '**/*.md' + merge_group: + schedule: + - cron: "21 11 * * 0" + +env: + JAVA_VERSION: "21" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["java-kotlin", "javascript-typescript"] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup JDK + if: matrix.language == 'java-kotlin' + uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + + - name: Setup Gradle + if: matrix.language == 'java-kotlin' + uses: gradle/actions/setup-gradle@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml new file mode 100644 index 0000000..a38d049 --- /dev/null +++ b/.github/workflows/update-gradle-wrapper.yml @@ -0,0 +1,28 @@ +# +# SPDX-FileCopyrightText: 2024 INFO +# SPDX-License-Identifier: EUPL-1.2+ +# +name: Update Gradle Wrapper + +# This workflow uses the Update Gradle Wrapper action to create a Pull Request if there is a new Gradle Wrapper version available. +# Do note that this PR does _not_ automatically trigger any other workflows. +# As a workaround to trigger our normal PR workflows you can manually close and then immediately reopen the PR. See: +# https://github.com/gradle-update/update-gradle-wrapper-action#running-ci-workflows-in-pull-requests-created-by-the-action + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + +jobs: + update-gradle-wrapper: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Update Gradle Wrapper + uses: gradle-update/update-gradle-wrapper-action@v1 + with: + team-reviewers: 'infonl/sbl' + pr-title-template: 'chore(deps): Bump Gradle Wrapper from %sourceVersion% to %targetVersion%' diff --git a/.gitignore b/.gitignore index 524f096..6b313e4 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,221 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* replay_pid* +/.gradle/8.8/checksums/checksums.lock +/.gradle/8.8/checksums/md5-checksums.bin +/.gradle/8.8/checksums/sha1-checksums.bin +/.gradle/8.8/dependencies-accessors/a3ebfdb25f917a653a2cd04b31071920b5ec844c/sources/org/gradle/accessors/dm/LibrariesForLibs.java +/.gradle/8.8/dependencies-accessors/a3ebfdb25f917a653a2cd04b31071920b5ec844c/sources/org/gradle/accessors/dm/LibrariesForLibsInPluginsBlock.java +/.gradle/8.8/dependencies-accessors/a3ebfdb25f917a653a2cd04b31071920b5ec844c/metadata.bin +/.gradle/8.8/dependencies-accessors/b0926afc9d1459254ba9cbd3abfc887e8dc2899f/sources/org/gradle/accessors/dm/LibrariesForLibs.java +/.gradle/8.8/dependencies-accessors/b0926afc9d1459254ba9cbd3abfc887e8dc2899f/sources/org/gradle/accessors/dm/LibrariesForLibsInPluginsBlock.java +/.gradle/8.8/dependencies-accessors/b0926afc9d1459254ba9cbd3abfc887e8dc2899f/metadata.bin +/.gradle/8.8/dependencies-accessors/f3fe3b56d5402e42711499154775235b772e61cb/sources/org/gradle/accessors/dm/LibrariesForLibs.java +/.gradle/8.8/dependencies-accessors/f3fe3b56d5402e42711499154775235b772e61cb/sources/org/gradle/accessors/dm/LibrariesForLibsInPluginsBlock.java +/.gradle/8.8/dependencies-accessors/f3fe3b56d5402e42711499154775235b772e61cb/metadata.bin +/.gradle/8.8/dependencies-accessors/fbf8d9d7f53bef4826c6b339a4e4c935b69a6dd7/sources/org/gradle/accessors/dm/LibrariesForLibs.java +/.gradle/8.8/dependencies-accessors/fbf8d9d7f53bef4826c6b339a4e4c935b69a6dd7/sources/org/gradle/accessors/dm/LibrariesForLibsInPluginsBlock.java +/.gradle/8.8/dependencies-accessors/fbf8d9d7f53bef4826c6b339a4e4c935b69a6dd7/metadata.bin +/.gradle/8.8/dependencies-accessors/gc.properties +/.gradle/8.8/executionHistory/executionHistory.bin +/.gradle/8.8/executionHistory/executionHistory.lock +/.gradle/8.8/fileChanges/last-build.bin +/.gradle/8.8/fileHashes/fileHashes.bin +/.gradle/8.8/fileHashes/fileHashes.lock +/.gradle/8.8/fileHashes/resourceHashesCache.bin +/.gradle/8.8/gc.properties +/.gradle/buildOutputCleanup/buildOutputCleanup.lock +/.gradle/buildOutputCleanup/cache.properties +/.gradle/buildOutputCleanup/outputFiles.bin +/.gradle/vcs-1/gc.properties +/.gradle/file-system.probe +/.idea/codeStyles/codeStyleConfig.xml +/.idea/codeStyles/Project.xml +/.idea/.gitignore +/.idea/aws.xml +/.idea/compiler.xml +/.idea/gradle.xml +/.idea/jarRepositories.xml +/.idea/kotlinc.xml +/.idea/misc.xml +/.idea/scala_compiler.xml +/.idea/vcs.xml +/build/classes/kotlin/main/META-INF/lib-sepa.kotlin_module +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/AccountIdentification4Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/AccountSchemeName1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ActiveOrHistoricCurrencyAndAmount.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/AddressType2Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/AmountType3Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Authorisation1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Authorisation1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/BranchAndFinancialInstitutionIdentification4.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/BranchData2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CashAccount16.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CashAccountType2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CashAccountType4Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CategoryPurpose1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ChargeBearerType1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Cheque6.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ChequeDelivery1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ChequeDeliveryMethod1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ChequeType2Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ClearingSystemIdentification2Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ClearingSystemMemberIdentification2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ContactDetails2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CreditDebitCode.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CreditorReferenceInformation2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CreditorReferenceType1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CreditorReferenceType2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CreditTransferTransactionInformation10.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/CustomerCreditTransferInitiationV03.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/DateAndPlaceOfBirth.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/DatePeriodDetails.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Document.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/DocumentAdjustment1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/DocumentType3Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/DocumentType5Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/EquivalentAmount2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ExchangeRateInformation1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ExchangeRateType1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/FinancialIdentificationSchemeName1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/FinancialInstitutionIdentification7.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/GenericAccountIdentification1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/GenericFinancialIdentification1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/GenericOrganisationIdentification1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/GenericPersonIdentification1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/GroupHeader32.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Instruction3Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/InstructionForCreditorAgent1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/LocalInstrument2Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/NameAndAddress10.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/NamePrefix1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ObjectFactory.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/OrganisationIdentification4.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/OrganisationIdentificationSchemeName1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/package-info.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Party6Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PartyIdentification32.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PaymentIdentification1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PaymentInstructionInformation3.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PaymentMethod3Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PaymentTypeInformation19.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PersonIdentification5.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PersonIdentificationSchemeName1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/PostalAddress6.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Priority2Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/Purpose2Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ReferredDocumentInformation3.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ReferredDocumentType1Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ReferredDocumentType2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RegulatoryAuthority2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RegulatoryReporting3.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RegulatoryReportingType1Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RemittanceAmount1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RemittanceInformation5.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RemittanceLocation2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/RemittanceLocationMethod2Code.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/ServiceLevel8Choice.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/StructuredRegulatoryReporting3.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/StructuredRemittanceInformation7.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxAmount1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxAuthorisation1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxInformation3.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxParty1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxParty2.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxPeriod1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxRecord1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxRecordDetails1.java +/build/generated/sources/xjc/java/main/iso/std/iso/_20022/tech/xsd/pain_001_001/TaxRecordPeriod1Code.java +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +/build/kotlin/compileKotlin/cacheable/last-build.bin +/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +/build/kotlin/compileKotlin/local-state/build-history.bin +/build/reports/detekt/detekt.html +/build/reports/detekt/detekt.md +/build/reports/detekt/detekt.sarif +/build/reports/detekt/detekt.txt +/build/reports/detekt/detekt.xml +/build/tmp/compileGeneratedJava/compileTransaction/stash-dir/CustomerCreditTransferInitiationV03.class.uniqueId0 +/build/tmp/compileGeneratedJava/compileTransaction/stash-dir/Document.class.uniqueId3 +/build/tmp/compileGeneratedJava/compileTransaction/stash-dir/ObjectFactory.class.uniqueId1 +/build/tmp/compileGeneratedJava/compileTransaction/stash-dir/PaymentInstructionInformation3.class.uniqueId2 +/build/tmp/compileGeneratedJava/previous-compilation-data.bin +/build/tmp/compileJava/previous-compilation-data.bin +/build/tmp/jar/MANIFEST.MF diff --git a/build.gradle.kts b/build.gradle.kts index d3d7e78..2d77835 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,13 @@ +import java.net.URI + +/* + * SPDX-FileCopyrightText: 2024 INFO + * SPDX-License-Identifier: EUPL-1.2+ +*/ + plugins { java + `maven-publish` alias(libs.plugins.kotlin.jvm) alias(libs.plugins.detekt) alias(libs.plugins.xjc) @@ -8,7 +16,16 @@ plugins { repositories { mavenLocal() mavenCentral() + maven { + name = "GitHubPackages" + url = URI("https://maven.pkg.github.com/infonl/stadsbank") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } } + sourceSets { create("generated") { java { @@ -17,8 +34,8 @@ sourceSets { } } -group = "nl.info.lib-sepa" -description = "SEPA clien library" +group = "nl.amsterdam.stadsbank" +description = "SEPA client library for Stadsbank van Lening Amsterdam" val javaVersion = JavaVersion.VERSION_21 diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..5d3d149 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +version=dev