allprojects { repositories { jcenter() } } subprojects { version = '1.0' } apply plugin: 'eclipse' println 'This will be executed during the configuration phase.' task configured { println 'This will also be executed during the configuration phase.' } task execFirstTest { doLast { println 'This will be executed during the execution phase.' } } task execSecondTest { doFirst { println 'This will be executed first during the execution phase.' } doLast { println 'This will be executed last during the execution phase.' } println 'This will be executed during the configuration phase as well.' } task welcome { doLast { println 'Welcome on the Baeldung!' } } task welcomeWithGroup { group 'Sample category' doLast { println 'Welcome on the Baeldung!' } } task welcomeWithGroupAndDescription { group 'Sample category' description 'Tasks which shows welcome message' doLast { println 'Welcome on the Baeldung!' } } class PrintToolVersionTask extends DefaultTask { String tool @TaskAction void printToolVersion() { switch (tool) { case 'java': println System.getProperty("java.version") break case 'groovy': println GroovySystem.version break default: throw new IllegalArgumentException("Unknown tool") } } } task printJavaVersion(type : PrintToolVersionTask) { tool 'java' } task printGroovyVersion(type : PrintToolVersionTask) { tool 'groovy' } import com.baeldung.PrintToolVersionBuildSrcTask task printJavaVersionBuildSrc(type : PrintToolVersionBuildSrcTask) { tool 'java' } task printGroovyVersionBuildSrc(type : PrintToolVersionBuildSrcTask) { tool 'groovy' }