2013-10-03 128 views
1

我不能在我的gradle構建中觸發buildStarted,不知道我在做什麼錯誤。gradle.buildStarted沒有觸發

我有這樣 版本「1.0」

buildscript { 
    repositories { 
     maven { url 'http://repo.jfrog.org/artifactory/gradle-plugins' } 
    } 
    dependencies { 
     classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.1.0') 
    } 
} 

gradle.buildStarted { 
    println "buildStart" 
} 

gradle. buildFinished { 
    println "buildFinished" 
} 

apply plugin: 'groovy' 
apply plugin: 'maven' 
......... 

buildFinished作品根的gradle項目文件中我能看到相應的println但buildStarted似乎從來沒有被觸發。

編輯 包括init.gradle使用建立監聽

class MyBuildAdapter extends BuildAdapter { 
    void buildStarted(Gradle gradle) { 
     println "buildStarted" 
    }  
} 

gradle.addBuildListener new MyBuildAdapter() 

回答

2

的問題是,你有機會在構建腳本來註冊一個回調之前發生buildStarted事件。你將不得不使用其他鉤子之一。有關詳細信息,請參閱Javadoc中的Gradle.addBuildListener

+0

我應該在我的文章中提到過這個,我也試過這樣做,但它沒有奏效。我正在使用代碼段更新帖子。 – Prasanna

+1

同樣,問題在於您有機會在構建腳本中註冊回調之前發生buildStarted事件。 **您必須使用其他鉤子之一**。 –

+0

好的。我正在嘗試在構建開始之前下載項目的gradle.properties。沒有gradle.properties,構建腳本中的任何屬性佔位符都將被替換。到目前爲止,buildListener會觸發'projectEvaluated'&'taskGraph.whenReady',但是這些階段在構建生命週期中已經太遲了,因爲沒有gradle.properties。是否有可能做這樣的事情? – Prasanna