mirror of
https://github.com/ysoftdevs/gradle-training.git
synced 2026-03-18 07:14:14 +01:00
add custom groovy plugin and its usage from local Maven storage
This commit is contained in:
12
14-custom-groovy-plugin/build.gradle
Normal file
12
14-custom-groovy-plugin/build.gradle
Normal file
@@ -0,0 +1,12 @@
|
||||
apply plugin: "groovy"
|
||||
apply plugin: "maven"
|
||||
|
||||
archivesBaseName = "lines-count"
|
||||
version = "1.0"
|
||||
group "com.ysoft.training"
|
||||
|
||||
dependencies {
|
||||
compile localGroovy()
|
||||
compile gradleApi()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ysoft.training
|
||||
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
|
||||
/**
|
||||
* Simple plugin for counting lines in build.gradle.
|
||||
**/
|
||||
class LineCountPlugin implements Plugin<Project> {
|
||||
|
||||
void apply(Project project) {
|
||||
Task countLineTask = project.tasks.add("countLines")
|
||||
countLineTask.doLast {
|
||||
def counter = 0
|
||||
new File("build.gradle").eachLine { line ->
|
||||
counter += 1
|
||||
}
|
||||
println "Total lines: ${counter}"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
implementation-class=com.ysoft.training.LineCountPlugin
|
||||
Reference in New Issue
Block a user