Skip to content

Commit

Permalink
Compose plugins
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
jjohannes committed Jan 6, 2022
1 parent 77c8159 commit db3549e
Show file tree
Hide file tree
Showing 21 changed files with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@

(defn -apply [this ^org.gradle.api.Project project]
(do
(.apply (.getPlugins project) "software.onepiece.gradle.pluginshowto.java-base")
(.apply (.getPlugins project) ApplicationPlugin)
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@

(defn -apply [this ^Project project]
(do
(.apply (.getPlugins project) JavaPlugin)
(.apply (.getPlugins project) SpotlessPlugin)
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

(defn -apply [this ^Project project]
(do
(.apply (.getPlugins project) "software.onepiece.gradle.pluginshowto.java-base")
(.apply (.getPlugins project) JavaLibraryPlugin)
)
)

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("software.onepiece.gradle.pluginshowto.java-base")
id("application")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("java")
id("com.diffplug.spotless")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("software.onepiece.gradle.pluginshowto.java-base")
id("java-library")
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ abstract class MyJavaApplicationPlugin implements Plugin<Project> {

@Override
void apply(Project project) {
project.plugins.apply(MyJavaBasePlugin)
project.plugins.apply(ApplicationPlugin)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,7 @@ abstract class MyJavaBasePlugin implements Plugin<Project> {

@Override
void apply(Project project) {
project.plugins.apply(JavaPlugin)
project.plugins.apply(SpotlessPlugin)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ abstract class MyJavaLibraryPlugin implements Plugin<Project> {

@Override
void apply(Project project) {
project.plugins.apply(MyJavaBasePlugin)
project.plugins.apply(JavaLibraryPlugin)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ abstract public class MyJavaApplicationPlugin implements Plugin<Project> {

@Override
public void apply(Project project) {
project.getPlugins().apply(MyJavaBasePlugin.class);
project.getPlugins().apply(ApplicationPlugin.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,7 @@ abstract public class MyJavaBasePlugin implements Plugin<Project> {

@Override
public void apply(Project project) {
project.getPlugins().apply(JavaPlugin.class);
project.getPlugins().apply(SpotlessPlugin.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ abstract public class MyJavaLibraryPlugin implements Plugin<Project> {

@Override
public void apply(Project project) {
project.getPlugins().apply(MyJavaBasePlugin.class);
project.getPlugins().apply(JavaLibraryPlugin.class);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("software.onepiece.gradle.pluginshowto.java-base")
id("application")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("java")
id("com.diffplug.spotless")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plugins {
id("software.onepiece.gradle.pluginshowto.java-base")
id("java-library")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ import org.gradle.api.plugins.ApplicationPlugin
abstract class MyJavaApplicationPlugin : Plugin<Project> {

override fun apply(project: Project): Unit = with(project) {
plugins.apply(MyJavaBasePlugin::class.java)
plugins.apply(ApplicationPlugin::class.java)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion
abstract class MyJavaBasePlugin : Plugin<Project> {

override fun apply(project: Project): Unit = with(project) {
plugins.apply(JavaPlugin::class.java)
plugins.apply(SpotlessPlugin::class.java)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ import org.gradle.api.plugins.JavaLibraryPlugin
abstract class MyJavaLibraryPlugin : Plugin<Project> {

override fun apply(project: Project): Unit = with(project) {
plugins.apply(MyJavaBasePlugin::class.java)
plugins.apply(JavaLibraryPlugin::class.java)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ import org.gradle.api.plugins.ApplicationPlugin
abstract class MyJavaApplicationPlugin extends Plugin[Project] {

override def apply(project: Project): Unit = {
project.getPlugins.apply(classOf[MyJavaBasePlugin])
project.getPlugins.apply(classOf[ApplicationPlugin])
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ import org.gradle.jvm.toolchain.JavaLanguageVersion
abstract class MyJavaBasePlugin extends Plugin[Project] {

override def apply(project: Project): Unit = {
project.getPlugins.apply(classOf[JavaPlugin])
project.getPlugins.apply(classOf[SpotlessPlugin])
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ import org.gradle.api.plugins.JavaLibraryPlugin
abstract class MyJavaLibraryPlugin extends Plugin[Project] {

override def apply(project: Project): Unit = {
project.getPlugins.apply(classOf[MyJavaBasePlugin])
project.getPlugins.apply(classOf[JavaLibraryPlugin])
}
}

0 comments on commit db3549e

Please sign in to comment.