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 или массива, но это тоже ничего, что вы можете сделать сами.

Другие вопросы по тегам