3

gradle ビルドで buildStarted をトリガーすることができません。何が間違っているのかわかりません。

このバージョン「1.0」のようなルート プロジェクト gradle ファイルがあります

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対応するprintlnを見ることができるので動作しますがbuildStarted、トリガーされないようです。

EDIT ビルドリスナーを使用するinit.gradleを含める

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

gradle.addBuildListener new MyBuildAdapter()
4

2 に答える 2

3

問題はbuildStarted、ビルド スクリプトでコールバックを登録する前にイベントが発生することです。他のフックのいずれかを使用する必要があります。詳細については、Javadoc のGradle.addBuildListenerを参照してください。

于 2013-10-03T18:01:24.793 に答える
0

私が書いたカスタム プラグインでも同じ問題が発生しprojectsEvaluatedましbuildFinishedBuildListener

それから 7 年が経ち、ついに Gradle は、そもそもこの方法を使用する意味がなかったことを認めるようになりました。Gradle 7 で削除されます。

https://docs.gradle.org/6.5.1/userguide/upgrading_version_5.html#apis_buildlistener_buildstarted_and_gradle_buildstarted_have_been_deprecated

于 2020-07-24T08:04:55.233 に答える