簡體   English   中英

在 gradle 中添加 compileJava 任務的插件

[英]plugins to add compileJava task in gradle

我是 Java 的新手,它是構建工具。 In build.gradle file I do not see java or javalibrary id under plugins, which makes me think, which of the following plugin causes the creation of CompileJava task(or calls Java plugin), the list of plugins I see in build.gradle is as follows

plugins {
    id "jacoco"

    id "org.springframework.boot" version "1.5.22.RELEASE"

    id "com.abc.tools.aws.build.docker" version "2.0.2"
    id "com.abc.tools.aws.build.abb-bom-management" version "2.0.2"
    id "com.abc.tools.aws.build.microservice" version "2.0.2"    
}

根據讀數,我不認為jacoco's任務之一是編譯 java。

Gradle 中的插件可以將1 個其他插件應用於項目,因為 gradle項目也是PluginAware object。

我的猜測是org.springframework.boot是應用了java插件的那個。

確實,我只是檢查了一下, 他們確實應用了 plugin

請注意,更高版本的插件不會這樣做 如果您對此感到困擾,最好更新您使用的版本,但是更高版本將需要更高版本的 gradle,因此請謹慎升級。

1. IMO,他們不應該這樣做,應該依賴使用PluginManager.withPlugin方法

Java 插件為項目添加了 Java 編譯以及測試和捆綁功能,以及compileJavatestjar等任務。 更多關於這個here

plugins {
    id 'java'
}

Jacoco 是用於測試覆蓋率報告的插件。

沒有明確的方法可以從每個插件中獲取完整的任務列表,但是您可以在應用每個插件后打印任務差異以查看您的插件列表是如何更改的,即

build.gradle

def tasksBefore = [], tasksAfter = []    
project.tasks.each { tasksBefore.add(it.name) } // get all tasks

apply(plugin: 'jacoco') // apply plugin

project.tasks.each { tasksAfter.add(it.name) } // get all tasks
tasksAfter.removeAll(tasksBefore); // get the difference

println 'jacoco tasks: ' + tasksAfter;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM