xpipe/gradle/gradle_scripts/README.md
crschnick 3e7fbe89ac Merge branch prefs into master
The changes have been squashed as the commit history and messages were not very carefully crafted. There isn't that much value in preserving random commit messages.

Also due to diverging branches, rebasing or merging it was difficult.
2024-02-28 07:36:31 +00:00

14 lines
1 KiB
Markdown

## Gradle Scripts
This directory contains helper scripts and Java module generation rules for dependencies used by various XPipe gradle projects.
It also contains various other types of shared build script components that are useful.
As the [jlink](https://docs.oracle.com/en/java/javase/17/docs/specs/man/jlink.html) tool
effectively requires proper modules as inputs but many established java
libraries did not add proper support yet, using an approach like this is required.
The modules are generated with the help of [extra-java-module-info](https://github.com/gradlex-org/extra-java-module-info).
The generated `module-info.java` file contains the necessary declarations to make a library work.
While gradle already has a [similar system](https://docs.gradle.org/current/userguide/platforms.html)
to better share dependencies, this system is lacking several features.
For one, it can't pass any other customizations to the build that are required by the dependencies,
e.g. compiler parameters or annotation processors.