плагины для добавления задачи компиляции Java в Gradle - PullRequest
0 голосов
/ 25 апреля 2020

Я новичок в Java и это инструменты для сборки. В файле build.gradle я не вижу java или javalibrary id под плагинами, что заставляет меня задуматься, какой из следующих плагинов вызывает создание задачи Compile Java (или вызывает плагин Java), список плагинов Я вижу в build.gradle следующее

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.

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020

Плагины в Gradle могут применять 1 другие плагины к проекту, потому что gradle проект также является PluginAware объектом.

Я предполагаю, что org.springframework.boot - это тот, который применил плагин java.

Действительно, я только что проверил и они применяют плагин .

Обратите внимание, что более поздние версии плагина не делают этого . Если вас это беспокоит, вероятно, лучше обновить версию, которую вы используете, однако более поздние версии потребуются более поздние версии Gradle, поэтому обновляйте рассудительно.

1. ИМО, они не должны этого делать и должны полагаться на использование PluginManager.withPlugin метода .

1 голос
/ 25 апреля 2020

Плагин Java добавляет компиляцию Java вместе с возможностями тестирования и объединения в проект, а также compileJava, test, jar et c. задания. Подробнее об этом здесь .

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...