Skip to content

FINERACT-2572: Exclude license-incompatible libraries from distributi…#5899

Open
SamaSVM wants to merge 1 commit into
apache:developfrom
SamaSVM:FINERACT-2572/exclude-license-incompatible-libs
Open

FINERACT-2572: Exclude license-incompatible libraries from distributi…#5899
SamaSVM wants to merge 1 commit into
apache:developfrom
SamaSVM:FINERACT-2572/exclude-license-incompatible-libs

Conversation

@SamaSVM
Copy link
Copy Markdown
Contributor

@SamaSVM SamaSVM commented May 27, 2026

Description

Resolves the ASF Category X license violation by excluding LGPL/GPL libraries from all Fineract distribution artifacts (binary tarball, WAR, bootJar, Docker image).

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per our guidelines
  • 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.
  • Create/update unit or integration tests for verifying the changes made.
  • Follow our coding conventions.
  • 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". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.

@SamaSVM SamaSVM force-pushed the FINERACT-2572/exclude-license-incompatible-libs branch 3 times, most recently from 6941b83 to 5aac227 Compare May 28, 2026 10:34
@adamsaghy adamsaghy requested a review from meonkeys May 28, 2026 11:53
@adamsaghy
Copy link
Copy Markdown
Contributor

@SamaSVM, would you like to move this PR and discussion to the Fineract DEV email list? These changes have a significant impact, and we should discuss and observe their effects on the DEV email list.

@SamaSVM SamaSVM force-pushed the FINERACT-2572/exclude-license-incompatible-libs branch from 5aac227 to dceed02 Compare May 28, 2026 12:41
Copy link
Copy Markdown
Contributor

@meonkeys meonkeys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this patch and for starting the dev list discussion, Vlad! Thank you Ádám and @Aman-Mittal for your feedback.

I generated a binary release tarball artifact with the binaryDistTar task and it looked good (no category X jars included).

These instructions are now wrong. Will you update fineract-doc/src/docs/en/chapters/release/process-step09.adoc? Build a binary release artifact and Docker image locally, test those, and let me know how it goes.

Finally, will you try the generateLicenseReport task? I wonder if we want to manually exclude the jars we are no longer packaging, or if it can do that automatically. I see some are marked "Not Packaged" but I don't understand what that means.

@SamaSVM SamaSVM force-pushed the FINERACT-2572/exclude-license-incompatible-libs branch from dceed02 to 4187471 Compare June 1, 2026 12:00
@SamaSVM
Copy link
Copy Markdown
Contributor Author

SamaSVM commented Jun 1, 2026

Thanks for this patch and for starting the dev list discussion, Vlad! Thank you Ádám and @Aman-Mittal for your feedback.

I generated a binary release tarball artifact with the binaryDistTar task and it looked good (no category X jars included).

These instructions are now wrong. Will you update fineract-doc/src/docs/en/chapters/release/process-step09.adoc? Build a binary release artifact and Docker image locally, test those, and let me know how it goes.

Finally, will you try the generateLicenseReport task? I wonder if we want to manually exclude the jars we are no longer packaging, or if it can do that automatically. I see some are marked "Not Packaged" but I don't understand what that means.

I've verified the "Build a binary release artifact and Docker image locally", and everything looks good — no Category X jars are included.

I've also updated fineract-doc/src/docs/en/chapters/release/process-step09.adoc, please check.

I have some difficulties running 'generateLicenseReport' locally, but I'll continue working it.

@SamaSVM
Copy link
Copy Markdown
Contributor Author

SamaSVM commented Jun 1, 2026

Finally, will you try the generateLicenseReport task? I wonder if we want to manually exclude the jars we are no longer packaging, or if it can do that automatically. I see some are marked "Not Packaged" but I don't understand what that means

I've generated the generateLicenseReport report, which contains 349 libraries. I also noticed that some of them are marked as "Not Packaged" in the Manifest License column.

During my investigation of the implementation (specifically the printDependencyManifest method in InventoryReportRenderer.groovy), I found that the "Not Packaged" label simply indicates that the license text is not physically embedded within the JAR file.

@meonkeys
Copy link
Copy Markdown
Contributor

meonkeys commented Jun 2, 2026

Awesome, thanks for the updates and research. The code and docs updated LGTM, I just want to test building & running myself with these new defaults before I approve. I'll do it asap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants