Owner:
RapidMiner
A Gradle plugin that applies basic Java project configurations.
Version 1.1.0 (latest)
Created 16 September 2026.
* Added project property `javaBasics.useJavaLibrary` (default: `true`). When set to `false`, the plain `java` plugin is applied instead of `java-library`, omitting the `api` and `compileOnlyApi` configurations. Implemented as a project property (not an extension flag) so that the correct plugin is applied before consumer `dependencies { }` blocks are evaluated. Can be set per-module in `gradle.properties` or overridden on the command line. * Gradle 9.x deprecation fixes: replaced eager task shortcuts with `tasks.named().configure()`, replaced `tasks.withType(X) { }` with `.configureEach`, removed `project.configure(project)` wrapper, moved `sourceSets` configuration out of the `java { }` block * `junitVersion` is now configurable via `javaBasics.junitVersion`; set to `null` to skip entirely * Added `javaBasics.jupiterVersion` for JUnit Jupiter (JUnit 5) support: adds `junit-jupiter`, calls `useJUnitPlatform()`, and adds the Vintage Engine when both JUnit 4 and 5 are configured * Fixed: the `test` task's system-property forwarding (defaulting forked test JVM system properties from the Gradle daemon's own `-D` flags) is now applied with `putIfAbsent` semantics instead of an unconditional merge. Previously, since this logic runs in `project.afterEvaluate`, it always ran *after* the consuming project's own build script - including any explicit `test { systemProperty ... }` overrides - and would silently clobber any task-level system property that happened to share a key with a `-D` flag passed to the outer Gradle invocation (e.g. `rapidminer.home` on CI), regardless of script ordering. Explicit overrides set anywhere in the consumer's build now always win.
Add this plugin to your build using the plugins DSL:
plugins {
id("com.rapidminer.java-basics") version "1.1.0"
}
See also:
-
Adding the plugin to build logic for usage in precompiled script plugins.
See the relevant documentation for more information.
Add this plugin as a dependency to
<convention-plugins-build>/build.gradle(.kts):dependencies { implementation("com.rapidminer.java-basics:com.rapidminer.java-basics.gradle.plugin:1.1.0") }It can then be applied in the precompiled script plugin:plugins { id("com.rapidminer.java-basics") } -
The legacy method of plugin application.
See the relevant documentation for more information.buildscript { repositories { gradlePluginPortal() } dependencies { classpath("com.rapidminer.java-basics:com.rapidminer.java-basics.gradle.plugin:1.1.0") } } apply(plugin = "com.rapidminer.java-basics") - Applying plugins to all subprojects .