New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate license on demand #2189
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I support the general idea to automate this, but I have two remarks:
- Since we now have three different
.ftl
files, the build step should be more specific than "Generate license", e.g. "Generate license shown in .dmg" - Please deduplicate
licenseMerges.xml
, if possible including the merges inside thepom.xml
Co-authored-by: Sebastian Stenzel <overheadhunter@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
THIRD-PARTY.txt
will be regenerated, so either add it to .gitignore
or - and this is probably even cleaner - make sure it is generated in /target
, which is preferred for generated resources but requires you to test it (both when starting from IDE as well as when building the jar)
Edit: Also, now the .ftl
file that is used "inside the app" lies outside the app's sources. Which makes it even harder to know the exact purpose of those three competing templates.
The three (actual four) templates are:
In dc38942 @tobihagemann adjusted the existing rtf-template for macOS..
Fixed in bcfba21. By default, the Third-Party file is placed inside |
This would only work for the EXE and DMG installer, the MSI installer does not allow clickable links afaik. Additionally, some links do not work (e.g. |
My comment was about the .dmg file. Since we have separate templates for each use case...
Broken links are broken regardless of whether we use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please move or rename third-party.merges
, since having this in the project root is confusing and there is no clue this is related to the license names and the Maven license plugin
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm really confused by the fact that some paths refer to a different base dir than others... This exceeds my review skills.
But since it works, I won't question it. 😄
…late * only those are depicted as clickable http links
Kudos, SonarCloud Quality Gate passed! |
Summary
The EULA/license of the mac & windows installers are generated during the build process and are not static anymore.
Motivation
With every dependency update the content of the license file displayed in our app and installers changes. But for the changes to appear in our released artifacts, it needs to be commited. This causes a lot of boilerplate commits ("updating license" ) and additionally, during a release one can easily forget to update the license file.
This PR removes this commit necessity and generates the most up-to-date license on the fly during build of release artifacts for macOS and Windows.