2014-06-27 48 views
2

我試圖將一個有點令人費解的Makefile移植到Gradle。我需要能夠執行一些相互獨立執行的任務,但我無法弄清楚如何在Gradle中執行此操作;例如,如果我有一個的build.gradle看起來像以下:孤立的Gradle任務?

apply plugin: 'eclipse' 
apply plugin: 'idea' 

task foo { 
    println 'foo' 
} 

task bar { 
    println 'bar' 
} 

task baz { 
    println 'baz' 
} 

如果我運行:

gradle這個-q富

然後我希望看到

foo

而是我看到:

foobarbaz

打印到我的終端。

如何配置Gradle只執行單個任務?

回答

4

您還沒有給出任何任何功能;你看到的是被實例化的任務的輸出。

您的build.gradle改成這樣......

task foo { 
    doLast { 
    println 'foo' 
    } 
} 

task bar << { 
    println 'bar' 
} 

task baz { 
    println 'baz' 
} 

,然後運行foo的任務:

gradle foo

你的輸出應該是...

baz 
:foo 
foo 

...顯示創建baz任務時輸出了baz,然後執行foo任務ted(「:foo」)後跟foo任務的輸出。請注意,「< <」運算符是doLast的別名。

請參閱Gradle用戶指南中的Build Script Basics