java-tutorials/gradle-modules/gradle/gradletaskdemo/build.gradle

109 lines
2.2 KiB
Groovy

buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.shipkit:shipkit:2.3.5"
}
}
plugins {
id 'java'
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
apply from: 'aplugin.gradle'
apply plugin: 'org.shipkit.bintray-release'
//hello task
task hello {
doLast {
println 'Baeldung'
}
}
//Groovy in gradle task
task toLower {
doLast {
String someString = 'HELLO FROM BAELDUNG'
println "Original: " + someString
println "Lower case: " + someString.toLowerCase()
}
}
// Task dependencies
task helloGradle {
doLast {
println 'Hello Gradle!'
}
}
task fromBaeldung(dependsOn: helloGradle) {
doLast {
println "I'm from Baeldung"
}
}
//Adding behavior to a task via api
task helloBaeldung {
doLast {
println 'I will be executed second'
}
}
helloBaeldung.doFirst {
println 'I will be executed first'
}
helloBaeldung.doLast {
println 'I will be executed third'
}
helloBaeldung {
doLast {
println 'I will be executed fourth'
}
}
//Adding extra task properties
task ourTask {
ext.theProperty = "theValue"
}
task printTaskProperty {
doLast {
println ourTask.theProperty
}
}
//Declaring dependencies
dependencies {
implementation group:
'org.springframework', name: 'spring-core', version: '4.3.5.RELEASE'
implementation 'org.springframework:spring-core:4.3.5.RELEASE',
'org.springframework:spring-aop:4.3.5.RELEASE'
implementation(
[group: 'org.springframework', name: 'spring-core', version: '4.3.5.RELEASE'],
[group: 'org.springframework', name: 'spring-aop', version: '4.3.5.RELEASE']
)
testImplementation('org.hibernate.orm:hibernate-core:6.4.2.Final') {
transitive = true
}
runtimeOnly(group: 'org.hibernate.orm', name: 'hibernate-core', version: '6.4.2.Final') {
transitive = false
}
runtimeOnly "org.codehaus.groovy:groovy-all:2.4.11@jar"
runtimeOnly group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.11', ext: 'jar'
implementation fileTree(dir: 'libs', include: '*.jar')
}