Maven Enforcer - возможно ли иметь собственное правило со свойством массива?
Я столкнулся с проблемой, касающейся конфигурации одного из моих пользовательских правил принудительного применения.
Конфигурация плагина внутри моего POM-файла выглядит следующим образом:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<uTF8Rule implementation="com.mavenrules.utf8validator.UTF8Rule">
<validationPath>${basedir}</validationPath>
</uTF8Rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
Зависимости от правила были объявлены в родительском POM.
Я хочу иметь возможность указывать список / массив путей в качестве свойства для uTF8Rule вместо простой переменной. (Я хочу, чтобы POM отвечал за пути, к которым применяется мое правило, а не настраивал правило для поиска различных путей внутри моего basedir)
Мне не удалось найти ссылки / документацию относительно типов свойств правила.
Желаемый результат будет что-то вроде:
<configuration>
<rules>
<uTF8Rule implementation="com.mavenrules.utf8validator.UTF8Rule">
<listOfPaths>
<path1>xxx</path1>
<path2>yyy</path2>
</listOfPaths>
</uTF8Rule>
</rules>
</configuration>
Любая идея приветствуется.
Заранее спасибо!
1 ответ
Объекты в конфигурации следуют соглашению JavaBean/pojo. Итак, в этом случае:
public class com.mavenrules.utf8validator.UTF8Rule {
private List<String> listOfPaths; // or String[]
}
Этого уже должно быть достаточно, но это немного бесполезно. Добавив геттер и сеттер, все будет в порядке. Если я позвоню правильно, у некоторых версий возникнут проблемы с запуском List или массива, но это тоже ничего, что вы можете сделать сами.