92 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
|  | 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' | ||
|  | } |