Checks for JPMS/Jigsaw support of all jar
dependencies and also if there is OSGi support.
Writes out a file based on extension (md
, or csv
) if specified as a gradle
property.
Kotlin version of this plugin. Attribution license.
Requires Java 11 or later (possibly Java 9 or later). And possibly gradle 6.x.
Ensure your default SDK is Java 11 or higher, then:
./gradlew check publishToMavenLocal
or something like this:
./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-amazon-corretto/ check publishToMavenLocal
If using locally, in settings.gradle
ensure you can obtain the plugin from mavenLocal
i.e.
pluginManagement {
repositories {
//..... other entries
mavenLocal()
}
}
Add in build.gradle
plugins {
id "net.lapthorn.plugins.modules-check" version "1.0.0"
}
Finally, from the CLI.
./gradlew -Pmodules-check.outputFile=/tmp/results.md modules-check
Typical output, e.g. markdown:
jar | OSGI | JPMS | multi-release | module-info.class |
Automatic-Module-Name |
---|---|---|---|---|---|
antlr:antlr:2.7.7 | |||||
co.paralleluniverse:quasar-core:0.8.2_r3 | YES | YES | co.paralleluniverse.quasar.core | ||
com.esotericsoftware:kryo:4.0.2 | YES | ||||
com.esotericsoftware:minlog:1.3.0 | YES | ||||
com.esotericsoftware:reflectasm:1.11.3 | YES | ||||
com.fasterxml:classmate:1.3.4 | YES | YES | com.fasterxml.classmate | ||
com.github.ben-manes.caffeine:caffeine:2.7.0 | YES | YES | com.github.benmanes.caffeine |
modules-check.recursive=<true|false>
- check and list all sub-project dependencies
modules-check.configurationName=<cfg>
- Default value =
default
- Default value =
modules-check.outputFile=<path>
- Output file. Attempts to output by file suffix. Defaults to csv, null = stdout.
modules-check.filter-osgi
- Only list non-OSGi jars in the results