This repository has been archived by the owner on Jun 17, 2021. It is now read-only.
Releases: xzel23/JpmsGradlePlugin
Releases · xzel23/JpmsGradlePlugin
Version 0.6
- Don't use java.util.spi.ToolProvider directly. The plugin can now be compiled under JDK 8! This also should avoid Exceptions when building Java 8 projects on Java 8 that do not include module-info.java (aka projects that don't need this plugin). It's my first take on making GitLab AutoDevOps happy. Background: I use this plugin in a project that's hosted on GitLab. Even though everything compiles just fine (I have provided a JDK 11 Dockerfile), when running tests, Gradle is executed under Java 8 and supposedly will spawn test runners to use Java 8 - whatever the reason might be.
Version 0.5.1
- set module path for 'run' task
Version 0.5
- The plugin now is compatible with Gradle 5.0 (tested with 5.0-rc1).
- Fixed Javadoc building with JDK 11.
- Fixed Gradle compatibility check.
Version 0.4.1
This is the plugin version that has been available from the Gradle plugin site for some time now. I just forgot to create a github release.
Version 0.2.2
- when compiling a project with target compatibility >= Java 9, entries are now automatically moved from the classpath to the modulepath.
Version 0.2.2
- possible to pass value for
--add-modules
to jlink task
Version 0.2.1
What's new
- task
compileModuleInfo
has been renamed tomoduleInfo
. - task
moduleInfo
now creates a multi-release jar per default. This should solve problems when using jars in android. Creating a multi-release jar can be disabled inbuild.gradle
by settingmoduleInfo { multiRelease = false }
.
To create standalone applications as described in Steve Perkin's blog, you can use the jlink
task like this:
buildscript {
repositories {
maven { url "https://dl.bintray.com/dua3/public" }
}
dependencies {
classpath group: 'com.dua3.gradle.jpms', name: 'JpmsGradlePlugin', version: '0.2.1'
}
}
jlink {
module = 'cli'
main = 'cli.Main'
application = 'cli'
compress = 2
}
Version 0.2.0
What's new
- new
jlink
task to create standalone applications. Examples coming soon. - some fixes
Version 0.1.2
What's new
- sometimes (depending on order in
build.gradle
), module definitions were not generated at all - rewritten the code to work on tasks instead of sourcesets
- module definition now gets compiled in the compileJava task's
doLast
which solves problems when working with multiple source sets (in the old version, module definitions were not compiled before all other sources from all source sets were compiled. If modules in different source sets were dependent on one another, the module definitions could not be found. - when compiling pre-Java 9 projects with module definitions, module definitions are filtered out from Javadoc input to avoid Javadoc errors.
JPMS gradle plugin V 0.1
What's new
- This is the initial release of the JPMS gradle plugin.
- When plugin is applied to a library project with source/target-compatibility set to a pre-Java 9 version,
module-info.java
files contained within the project will be compiled with compatibility set to Java 9. Thus, the resulting library Jar is still compatible both with pre-Java 9 runtime environments while it an also be used in modularised Java 9+ projects.