閱讀832 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Gradle技巧係列一: 打印Task輸入輸出等信息

在使用Android Studio開發Android應用的時候,我們都知道整個構建過程是由Gradle來驅動的,由一個一個的Gradle Task串起來的。

通常,我們點擊工具欄上的綠色三角之後,就開始編譯運行工程,直到將APP安裝到手機或者模擬器。在默認情況下,開發者通常隻能看到簡單的提示信息。

下麵簡單介紹幾個技巧,幫助開發者更好的理解整個編譯過程:

 Gradle 技巧一: 打印每個Task的輸入輸出

將以下代碼貼到模塊的build.gradle下

gradle.taskGraph.afterTask { task ->
    StringBuffer taskDetails = new StringBuffer()
    taskDetails << """"-------------
name:$task.name group:$task.group : $task.description
conv:$task.convention.plugins
inputs:
"""
    task.inputs.files.each{ it ->
        taskDetails << " ${it.absolutePath}\n"
    }
    taskDetails << "outputs:\n"
    task.outputs.files.each{ it ->
        taskDetails << " ${it.absolutePath}\n"
    }

    taskDetails << "-------------"
    println taskDetails
}

添加後,每次執行Gradle Task,你都能看到每一個Task的輸入輸出信息。

 Gradle 技巧二: 打印每個模塊配置的依賴信息

將以下代碼貼到模塊的build.gradle下

task listJars << {
    configurations.compile.each { File file -> println file.absolutePath }
}

這段代碼將會添加一個Gradle Task(名稱為listJars),作用就是打印出compile相關的所有依賴庫地址。

當然,這個compile還可以替換成kapt,annotationProcessor, provided 等。

聯係方式

sn0wdr1am

最後更新:2017-04-07 21:25:10

  上一篇:go flink - accumulator
  下一篇:go PostgreSQL 10.0 preview 功能增強 - BRIN 索引更新smooth化