Генерация нескольких форматов отчетов Cobertura с помощью командной строки Maven
С Maven я могу генерировать несколько различных типов отчетов о покрытии кода с помощью Cobertura, изменив раздел отчетов моего POM, а...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
Кроме того, я могу генерировать отчет одного типа из командной строки Maven, а...
mvn clean cobertura:cobertura -Dcobertura.report.format=xml
Как создать несколько разных типов отчетов из командной строки Maven?
Видимо, я могу сделать только один.... Я попробовал это ниже, и это не работает!
mvn clean cobertura:cobertura -Dcobertura.report.formats=xml,html
(ПРИМЕЧАНИЕ. Приведенное выше свойство использует "форматы" и "формат". Приведенное выше всегда создает отчет HTML по умолчанию, не видя двух указанных форматов. Я использую Maven 3.2.3 и плагин Cobertura версии 2.0.3.)
Пожалуйста, помогите, мой Googol Fu терпит неудачу.... Кто-нибудь знает, возможно ли это или нет?
1 ответ
Похоже, это невозможно...
Из сообщения блога Sonatype Настройка целей плагина в Maven 3:
Последний выпуск Maven, наконец, позволяет пользователям плагинов настраивать коллекции или массивы из командной строки через строки, разделенные запятыми.
Авторам плагинов, которые хотят включить конфигурирование массивов / коллекций на основе CLI, просто нужно добавить тег выражения к аннотации их параметров.
Но в коде плагина:
/**
* The format of the report. (supports 'html' or 'xml'. defaults to 'html')
*
* @parameter expression="${cobertura.report.format}"
* @deprecated
*/
private String format;
/**
* The format of the report. (can be 'html' and/or 'xml'. defaults to 'html')
*
* @parameter
*/
private String[] formats = new String[] { "html" };
Как вы видете formats
не имеет expression
тег (в отличие от format
) поэтому его нельзя настроить из командной строки.
Обновить
Я только что понял, что ответил на неправильный вопрос:) Вопрос, на который я ответил: "Как я могу сгенерировать несколько разных типов отчетов из командной строки Maven, используя опцию" форматы "?". Но оригинальный вопрос был "Как я могу сгенерировать несколько разных типов отчетов из командной строки Maven?"
На самом деле есть простой обходной путь - запустить Maven дважды (второй раз без clean
), как это:
mvn clean cobertura:cobertura -Dcobertura.report.format=xml
mvn cobertura:cobertura -Dcobertura.report.format=html