Skip to content

Commit

Permalink
Plugin project structure
Browse files Browse the repository at this point in the history
For the fundamental project structure, you need to use one of the
Gradle DSLs. Therefore, it is the same for all plugin implementation
approaches. Here we use the Kotlin DSL. You can also use the Groovy DSL
by removing the '.kts' extension from Gradle files. The syntax used
in the files is the same.
  • Loading branch information
jjohannes committed Jan 6, 2022
1 parent 96b100e commit f28ae2c
Show file tree
Hide file tree
Showing 21 changed files with 168 additions and 0 deletions.
10 changes: 10 additions & 0 deletions clojure/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions clojure/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions clojure/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions groovy-dsl/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions groovy-dsl/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions groovy-dsl/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions groovy/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions groovy/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions groovy/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions java/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions java/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions java/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions kotlin-dsl/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions kotlin-dsl/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions kotlin-dsl/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions kotlin/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions kotlin/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions kotlin/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down
10 changes: 10 additions & 0 deletions scala/gradle-build-logic/java-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
}

group = "software.onepiece.gradle.pluginshowto"

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.1.0") {
because("Provides the 'com.diffplug.spotless' formatting plugin")
}
}
5 changes: 5 additions & 0 deletions scala/gradle-build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dependencyResolutionManagement {
repositories.gradlePluginPortal()
}

include("java-plugins")
9 changes: 9 additions & 0 deletions scala/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
pluginManagement {
repositories.gradlePluginPortal()

includeBuild("gradle-build-logic")

// To get your plugins from a repository instead of 'gradle-build-logic', remove in includeBuild above and instead do:
// repositories.maven("../_gradle-plugins-repository")
// plugins {
// id("software.onepiece.gradle.pluginshowto.java-library") version "1.0"
// id("software.onepiece.gradle.pluginshowto.java-application") version "1.0"
// }
}

dependencyResolutionManagement {
Expand Down

0 comments on commit f28ae2c

Please sign in to comment.