Skip to content

Commit db3549e

Browse files
committed
Compose plugins
Plugins usually apply other plugins and configure them. If you use the Kotlin DSL or Groovy DSL, this is done by ID in the 'plugins {}' block. In the class-based approaches, you call the 'plugins.apply()' method. Here you can use the class of the other plugin which gives you navigation in the IDE. But you may also use the plugin IDs here.
1 parent 77c8159 commit db3549e

File tree

21 files changed

+54
-0
lines changed

21 files changed

+54
-0
lines changed

clojure/gradle-build-logic/java-plugins/src/main/clojure/software/onepiece/gradle/pluginshowto/MyJavaApplicationPlugin.clj

+2
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,7 @@
1010

1111
(defn -apply [this ^org.gradle.api.Project project]
1212
(do
13+
(.apply (.getPlugins project) "software.onepiece.gradle.pluginshowto.java-base")
14+
(.apply (.getPlugins project) ApplicationPlugin)
1315
)
1416
)

clojure/gradle-build-logic/java-plugins/src/main/clojure/software/onepiece/gradle/pluginshowto/MyJavaBasePlugin.clj

+2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@
1313

1414
(defn -apply [this ^Project project]
1515
(do
16+
(.apply (.getPlugins project) JavaPlugin)
17+
(.apply (.getPlugins project) SpotlessPlugin)
1618
)
1719
)

clojure/gradle-build-logic/java-plugins/src/main/clojure/software/onepiece/gradle/pluginshowto/MyJavaLibraryPlugin.clj

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
(defn -apply [this ^Project project]
1313
(do
14+
(.apply (.getPlugins project) "software.onepiece.gradle.pluginshowto.java-base")
15+
(.apply (.getPlugins project) JavaLibraryPlugin)
1416
)
1517
)
1618

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("software.onepiece.gradle.pluginshowto.java-base")
3+
id("application")
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("java")
3+
id("com.diffplug.spotless")
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("software.onepiece.gradle.pluginshowto.java-base")
3+
id("java-library")
4+
}

groovy/gradle-build-logic/java-plugins/src/main/groovy/software/onepiece/gradle/pluginshowto/MyJavaApplicationPlugin.groovy

+2
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,7 @@ abstract class MyJavaApplicationPlugin implements Plugin<Project> {
1212

1313
@Override
1414
void apply(Project project) {
15+
project.plugins.apply(MyJavaBasePlugin)
16+
project.plugins.apply(ApplicationPlugin)
1517
}
1618
}

groovy/gradle-build-logic/java-plugins/src/main/groovy/software/onepiece/gradle/pluginshowto/MyJavaBasePlugin.groovy

+2
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,7 @@ abstract class MyJavaBasePlugin implements Plugin<Project> {
1919

2020
@Override
2121
void apply(Project project) {
22+
project.plugins.apply(JavaPlugin)
23+
project.plugins.apply(SpotlessPlugin)
2224
}
2325
}

groovy/gradle-build-logic/java-plugins/src/main/groovy/software/onepiece/gradle/pluginshowto/MyJavaLibraryPlugin.groovy

+2
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,7 @@ abstract class MyJavaLibraryPlugin implements Plugin<Project> {
1212

1313
@Override
1414
void apply(Project project) {
15+
project.plugins.apply(MyJavaBasePlugin)
16+
project.plugins.apply(JavaLibraryPlugin)
1517
}
1618
}

java/gradle-build-logic/java-plugins/src/main/java/software/onepiece/gradle/pluginshowto/MyJavaApplicationPlugin.java

+2
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,7 @@ abstract public class MyJavaApplicationPlugin implements Plugin<Project> {
1010

1111
@Override
1212
public void apply(Project project) {
13+
project.getPlugins().apply(MyJavaBasePlugin.class);
14+
project.getPlugins().apply(ApplicationPlugin.class);
1315
}
1416
}

java/gradle-build-logic/java-plugins/src/main/java/software/onepiece/gradle/pluginshowto/MyJavaBasePlugin.java

+2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,7 @@ abstract public class MyJavaBasePlugin implements Plugin<Project> {
1818

1919
@Override
2020
public void apply(Project project) {
21+
project.getPlugins().apply(JavaPlugin.class);
22+
project.getPlugins().apply(SpotlessPlugin.class);
2123
}
2224
}

java/gradle-build-logic/java-plugins/src/main/java/software/onepiece/gradle/pluginshowto/MyJavaLibraryPlugin.java

+2
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,7 @@ abstract public class MyJavaLibraryPlugin implements Plugin<Project> {
1010

1111
@Override
1212
public void apply(Project project) {
13+
project.getPlugins().apply(MyJavaBasePlugin.class);
14+
project.getPlugins().apply(JavaLibraryPlugin.class);
1315
}
1416
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("software.onepiece.gradle.pluginshowto.java-base")
3+
id("application")
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("java")
3+
id("com.diffplug.spotless")
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
id("software.onepiece.gradle.pluginshowto.java-base")
3+
id("java-library")
4+
}

kotlin/gradle-build-logic/java-plugins/src/main/kotlin/software/onepiece/gradle/pluginshowto/MyJavaApplicationPlugin.kt

+2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ import org.gradle.api.plugins.ApplicationPlugin
77
abstract class MyJavaApplicationPlugin : Plugin<Project> {
88

99
override fun apply(project: Project): Unit = with(project) {
10+
plugins.apply(MyJavaBasePlugin::class.java)
11+
plugins.apply(ApplicationPlugin::class.java)
1012
}
1113
}

kotlin/gradle-build-logic/java-plugins/src/main/kotlin/software/onepiece/gradle/pluginshowto/MyJavaBasePlugin.kt

+2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion
1313
abstract class MyJavaBasePlugin : Plugin<Project> {
1414

1515
override fun apply(project: Project): Unit = with(project) {
16+
plugins.apply(JavaPlugin::class.java)
17+
plugins.apply(SpotlessPlugin::class.java)
1618
}
1719
}

kotlin/gradle-build-logic/java-plugins/src/main/kotlin/software/onepiece/gradle/pluginshowto/MyJavaLibraryPlugin.kt

+2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ import org.gradle.api.plugins.JavaLibraryPlugin
77
abstract class MyJavaLibraryPlugin : Plugin<Project> {
88

99
override fun apply(project: Project): Unit = with(project) {
10+
plugins.apply(MyJavaBasePlugin::class.java)
11+
plugins.apply(JavaLibraryPlugin::class.java)
1012
}
1113
}

scala/gradle-build-logic/java-plugins/src/main/scala/software/onepiece/gradle/pluginshowto/MyJavaApplicationPlugin.scala

+2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,7 @@ import org.gradle.api.plugins.ApplicationPlugin
66
abstract class MyJavaApplicationPlugin extends Plugin[Project] {
77

88
override def apply(project: Project): Unit = {
9+
project.getPlugins.apply(classOf[MyJavaBasePlugin])
10+
project.getPlugins.apply(classOf[ApplicationPlugin])
911
}
1012
}

scala/gradle-build-logic/java-plugins/src/main/scala/software/onepiece/gradle/pluginshowto/MyJavaBasePlugin.scala

+2
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,7 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion
1010
abstract class MyJavaBasePlugin extends Plugin[Project] {
1111

1212
override def apply(project: Project): Unit = {
13+
project.getPlugins.apply(classOf[JavaPlugin])
14+
project.getPlugins.apply(classOf[SpotlessPlugin])
1315
}
1416
}

scala/gradle-build-logic/java-plugins/src/main/scala/software/onepiece/gradle/pluginshowto/MyJavaLibraryPlugin.scala

+2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,7 @@ import org.gradle.api.plugins.JavaLibraryPlugin
66
abstract class MyJavaLibraryPlugin extends Plugin[Project] {
77

88
override def apply(project: Project): Unit = {
9+
project.getPlugins.apply(classOf[MyJavaBasePlugin])
10+
project.getPlugins.apply(classOf[JavaLibraryPlugin])
911
}
1012
}

0 commit comments

Comments
 (0)