Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ Please make sure these boxes are checked before submitting your pull request - t
- [ ] 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
- [ ] [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).
- [ ] If merging this PR resolves a JIRA issue, I will mark that issue as resolved and set "Fix Version/s" appropriately.
- [ ] I followed the [AI Policy](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#ai-policy).
Comment thread
meonkeys marked this conversation as resolved.

Your assigned reviewer(s) will follow our [guidelines for code reviews](https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide).
64 changes: 28 additions & 36 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Incorrect default Java-related executables may cause test failures.
To fix this on Debian and Ubuntu systems, run the following:

```bash
export JAVA_HOME=/usr/lib/jvm/zulu21
export JAVA_HOME=/usr/lib/jvm/zulu25
sudo update-alternatives --set java $JAVA_HOME/bin/java
sudo update-alternatives --set javac $JAVA_HOME/bin/javac
sudo update-alternatives --set javadoc $JAVA_HOME/bin/javadoc
Expand Down Expand Up @@ -142,6 +142,25 @@ This is useful for repeated test runs (say, for timing) when gradle would otherw

See the next section for testing in Eclipse and [here](https://fineract-academy.com) for testing in IntelliJ.

### How to run Apache RAT (Release Audit Tool)

1. Extract the archive file to your local directory.
2. Run `./gradlew rat`. A report will be generated under build/reports/rat/rat-report.txt

### How to build documentation

Run the following command:

```bash
./gradlew doc
```

Some dependencies are required (e.g. Ghostscript, Graphviz), see [.github/workflows/build-documentation.yml](https://github.com/apache/fineract/tree/develop/.github/workflows/build-documentation.yml) for hints.

IDEs such as IntelliJ are useful for editing the AsciiDoc source files while providing a live rendered preview.

HTML rendered from the AsciiDoc source files is also available online at [https://fineract.apache.org/docs/current/](https://fineract.apache.org/docs/current/).

## Recommended IDEs

Apache Fineract can be developed using multiple IDEs. The most commonly used and supported IDEs are:
Expand Down Expand Up @@ -190,41 +209,6 @@ IntelliJ IDEA provides strong Gradle integration and is recommended for most new
- IntelliJ may take several minutes to index the project on first open
- If you encounter build issues, try running `./gradlew clean build` from the terminal

How to download Gradle wrapper
---
The file gradle/wrapper/gradle-wrapper.jar binary is checked into this projects Git source repository,
but won't exist in your copy of the Fineract codebase if you downloaded a released source archive from apache.org.
In that case, you need to download it using the commands below:
```bash
wget -P gradle/wrapper https://github.com/apache/fineract/raw/develop/gradle/wrapper/gradle-wrapper.jar
```
or
```bash
curl -L https://github.com/apache/fineract/raw/develop/gradle/wrapper/gradle-wrapper.jar > \
gradle/wrapper/gradle-wrapper.jar
```

### How to run Apache RAT (Release Audit Tool)

1. Extract the archive file to your local directory.
2. Run `./gradlew rat`. A report will be generated under build/reports/rat/rat-report.txt


### How to build documentation

Run the following command:

```bash
./gradlew doc
```

Some dependencies are required (e.g. Ghostscript, Graphviz), see [.github/workflows/build-documentation.yml](https://github.com/apache/fineract/tree/develop/.github/workflows/build-documentation.yml) for hints.

IDEs such as IntelliJ are useful for editing the AsciiDoc source files while providing a live rendered preview.

HTML rendered from the AsciiDoc source files is also available online at [https://fineract.apache.org/docs/current/](https://fineract.apache.org/docs/current/).


## How We Code

### Checkstyle and Spotless
Expand Down Expand Up @@ -288,6 +272,14 @@ The project uses [Lombok](https://projectlombok.org/) to reduce boilerplate code
* `LOG.debug()` can be used anywhere in the code to log things that may be useful during investigations of specific problems. They are not shown in the default logging configuration, but can be enabled for troubleshooting. Developers should typically "turn down" most `LOG.info()` which they used while writing a new feature to "follow along what happens during local testing" to `LOG.debug()` for production before we merge their PRs.
* `LOG.trace()` is not used in Fineract.

### AI Policy

- AI tools may assist contribution work.
Comment thread
meonkeys marked this conversation as resolved.
- AI tools must not replace contributor accountability.
- The human submitter is responsible for correctness, safety, performance, and maintainability of all submitted changes.
- Follow the [Generative Tooling Guidance by the ASF](https://www.apache.org/legal/generative-tooling.html).
- Disclose generative AI tool usage with `Assisted-By: TOOL-MODEL-VERSION` trailer(s) in commit log messages, e.g. `Assisted-By: botcoder-poem-5.1`.

## Change Process

### Dependency Upgrades
Expand Down