Skip to content

Commit ed0d737

Browse files
committed
FINERACT-2554: Modernize PaymentTypeHelper and remove legacy files
0 parents  commit ed0d737

6,946 files changed

Lines changed: 1142814 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asf.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
github:
2+
description: "Apache Fineract"
3+
homepage: https://fineract.apache.org
4+
labels:
5+
- apache
6+
- banking
7+
- finance
8+
- fintech
9+
- group-lending
10+
- group-savings
11+
- java
12+
- lending
13+
- loans
14+
- microfinance
15+
- savings
16+
- social-impact
17+
- tech4good
18+
notifications:
19+
commits: commits@fineract.apache.org
20+
pullrequests: issues@fineract.apache.org

.atr-rat-excludes-bin.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
# See comment below license in .atr-rat-excludes-src.txt for an explanation of
19+
# what this is.
20+
21+
# if you make changes here, sort this list before committing asciibetically
22+
# with en_US.UTF-8 lang/locale
23+
.rat-excludes
24+
README.md
25+
fineract-documentation.pdf
26+
27+
# vim:ft=conf

.atr-rat-excludes-src.txt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
# Path patterns to exclude from RAT checks run by ATR.
19+
#
20+
# RAT = Release Audit Tool (https://creadur.apache.org/rat/)
21+
# ATR = ASF Trusted Releases (https://release-test.apache.org , https://github.com/apache/tooling-trusted-releases/)
22+
#
23+
# This duplicates exclusions in build.gradle.
24+
# This is probably only necessary until both RAT and org.nosphere.apache.rat plugin are using 0.17.
25+
# See https://github.com/eskatos/creadur-rat-gradle/issues/28 .
26+
# Once both are on 0.17, we should be able to move the RAT excludes used during
27+
# the build from build.gradle into a .rat-excludes file shared by both our
28+
# build and ATR.
29+
# Right now ATR does something custom, see
30+
# https://github.com/apache/tooling-trusted-releases/issues/312 .
31+
# If we get tired of waiting for the RAT gradle plugin or the ATR to upgrade to
32+
# 0.17, we could write our own exclusion lists generator.
33+
34+
# if you make changes here, sort this list before committing asciibetically
35+
# with en_US.UTF-8 lang/locale
36+
**/META-INF/fineract-test.config
37+
**/legacy-docs/
38+
*.adoc
39+
*.avsc
40+
*.feature
41+
*.html
42+
*.md
43+
*.mustache
44+
*.puml
45+
*.txt
46+
.openapi-generator-ignore
47+
/.asf.yaml
48+
/.rat-excludes
49+
/config/fineractdev-eclipse-preferences.epf
50+
/fineract-provider/src/test/resources/results/xbrl.xml
51+
/gradle/wrapper/gradle-wrapper.properties
52+
org.springframework.boot.autoconfigure.AutoConfiguration.imports
53+
54+
# vim:ft=conf

.dockerignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# NB No ASF ASL header here due to FINERACT-1195
2+
**/build/*
3+
**/.gradle/*
4+
**/bin/*
5+
6+
*.jar
7+
*.war
8+
9+
# Incremental "docker build" is faster if we can modify the Dockerfile
10+
# without "COPY ." re-transferring everything into the builder container.
11+
Dockerfile

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# https://issues.apache.org/jira/browse/FINERACT-1453
2+
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
3+
4+
version: 2
5+
updates:
6+
- package-ecosystem: "github-actions"
7+
directory: "/"
8+
schedule:
9+
interval: "daily"
10+
- package-ecosystem: "docker"
11+
directory: "/"
12+
schedule:
13+
interval: "daily"

.github/pull_request_template.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## Description
2+
3+
Describe the changes made and why they were made. (Ignore if these details are present on the associated Apache Fineract JIRA ticket.)
4+
5+
## Checklist
6+
7+
Please make sure these boxes are checked before submitting your pull request - thanks!
8+
9+
- [ ] Write the commit message as per [our guidelines](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#pull-requests)
10+
- [ ] Acknowledge that we will not review PRs that are not passing the build _("green")_ - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
11+
- [ ] Create/update [unit or integration tests](https://fineract.apache.org/docs/current/#_testing) for verifying the changes made.
12+
- [ ] Follow our [coding conventions](https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions).
13+
- [ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
14+
- [ ] [This PR must not be a "code dump"](https://cwiki.apache.org/confluence/display/FINERACT/Pull+Request+Size+Limit). Large changes can be made in a branch, with assistance. Ask for help on the [developer mailing list](https://fineract.apache.org/#contribute).
15+
16+
Your assigned reviewer(s) will follow our [guidelines for code reviews](https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide).
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
name: Fineract Build & Cucumber tests (without E2E tests)
2+
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
verify:
10+
runs-on: ubuntu-24.04
11+
timeout-minutes: 60
12+
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- task: build-core
18+
job_type: main
19+
- task: cucumber
20+
job_type: main
21+
- task: build-progressive-loan
22+
job_type: progressive-loan
23+
24+
env:
25+
TZ: Asia/Kolkata
26+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
27+
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
31+
with:
32+
fetch-depth: 0
33+
fetch-tags: true
34+
35+
- name: Set up JDK 21
36+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
37+
with:
38+
java-version: '21'
39+
distribution: 'zulu'
40+
41+
- name: Cache Gradle dependencies
42+
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
43+
with:
44+
path: |
45+
~/.gradle/caches
46+
~/.gradle/wrapper
47+
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
48+
49+
- name: Setup Gradle and Validate Wrapper
50+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
51+
with:
52+
validate-wrappers: true
53+
54+
- name: Run Gradle Task
55+
if: matrix.job_type == 'main'
56+
run: |
57+
set -e # Fail the script if any command fails
58+
59+
case "${{ matrix.task }}" in
60+
build-core)
61+
./gradlew --no-daemon build -x test -x cucumber -x doc
62+
;;
63+
cucumber)
64+
./gradlew --no-daemon cucumber -x :fineract-e2e-tests-runner:cucumber -x checkstyleJmh -x checkstyleMain -x checkstyleTest -x spotlessCheck -x spotlessApply -x spotbugsMain -x spotbugsTest -x javadoc -x javadocJar -x modernizer
65+
;;
66+
esac
67+
68+
- name: Build and Test Progressive Loan
69+
if: matrix.job_type == 'progressive-loan'
70+
run: |
71+
# Build the JAR
72+
./gradlew --no-daemon --console=plain :fineract-progressive-loan-embeddable-schedule-generator:shadowJar
73+
74+
# Store the JAR filename in an environment variable
75+
EMBEDDABLE_JAR_FILE=$(ls fineract-progressive-loan-embeddable-schedule-generator/build/libs/*-all.jar | head -n 1)
76+
echo "EMBEDDABLE_JAR_FILE=$EMBEDDABLE_JAR_FILE" >> $GITHUB_ENV
77+
echo "JAR file: $EMBEDDABLE_JAR_FILE"
78+
79+
# Run unit tests
80+
./gradlew --no-daemon --console=plain :fineract-progressive-loan-embeddable-schedule-generator:test
81+
82+
# Build and run sample application
83+
mkdir -p sample-app
84+
javac -cp "$EMBEDDABLE_JAR_FILE" -d sample-app fineract-progressive-loan-embeddable-schedule-generator/misc/Main.java
85+
java -cp "$EMBEDDABLE_JAR_FILE:sample-app" Main
86+
java -cp "$EMBEDDABLE_JAR_FILE:sample-app" Main 25
87+
88+
- name: Archive test results
89+
if: always()
90+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
91+
with:
92+
name: test-results-${{ matrix.task }}
93+
path: |
94+
**/build/reports/
95+
**/fineract-progressive-loan-embeddable-schedule-generator/build/reports/
96+
if-no-files-found: ignore
97+
retention-days: 5
98+
99+
- name: Archive Progressive Loan JAR
100+
if: matrix.job_type == 'progressive-loan' && always()
101+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
102+
with:
103+
name: progressive-loan-jar
104+
path: ${{ env.EMBEDDABLE_JAR_FILE }}
105+
retention-days: 5
106+
if-no-files-found: ignore
107+
108+
- name: Archive server logs
109+
if: always()
110+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
111+
with:
112+
name: server-logs-${{ matrix.task }}
113+
path: '**/build/cargo/'
114+
retention-days: 5

.github/workflows/build-docker.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Fineract Docker Builds
2+
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-24.04
11+
timeout-minutes: 60
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
db_type: [mariadb, postgresql]
16+
include:
17+
- db_type: mariadb
18+
compose_file: docker-compose.yml
19+
check_worker_health: true
20+
- db_type: postgresql
21+
compose_file: docker-compose-postgresql.yml
22+
check_worker_health: false
23+
24+
env:
25+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
26+
IMAGE_NAME: fineract
27+
28+
steps:
29+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
30+
with:
31+
fetch-depth: 0
32+
33+
- name: Set up JDK 21
34+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
35+
with:
36+
java-version: '21'
37+
distribution: 'zulu'
38+
39+
- name: Setup Gradle
40+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
41+
42+
- name: Build the image
43+
run: ./gradlew --no-daemon --console=plain :fineract-provider:jibDockerBuild -Djib.to.image=$IMAGE_NAME -x test -x cucumber
44+
45+
- name: Start the ${{ matrix.db_type }} stack
46+
run: docker compose -f ${{ matrix.compose_file }} up -d
47+
48+
- name: Check the stack
49+
run: docker ps
50+
51+
- name: Check health Manager
52+
run: curl -f -k --retry 60 --retry-all-errors --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
53+
54+
- name: Check info Manager
55+
run: (( $(curl -f -k --retry 5 --retry-all-errors --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/info | wc --chars) > 100 ))
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Fineract Documentation build
2+
on: [push, pull_request]
3+
permissions:
4+
contents: read
5+
jobs:
6+
build:
7+
runs-on: ubuntu-24.04
8+
timeout-minutes: 60
9+
env:
10+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
14+
with:
15+
fetch-depth: 0
16+
- name: Set up JDK 21
17+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
18+
with:
19+
java-version: '21'
20+
distribution: 'zulu'
21+
- name: Setup Gradle
22+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
23+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
24+
with:
25+
node-version: 22
26+
- name: Congfigure vega-cli
27+
run: npm i -g vega-cli --unsafe
28+
- name: Validate Gradle wrapper
29+
uses: gradle/actions/wrapper-validation@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
30+
- name: Install additional software
31+
run: |
32+
sudo apt-get update
33+
sudo apt-get install ghostscript graphviz -y
34+
- name: Documentation build
35+
run: ./gradlew --no-daemon --console=plain doc

0 commit comments

Comments
 (0)