Как справиться с учетом регистра свойства в Maven POM.xml - PullRequest
0 голосов
/ 15 декабря 2018

Я работаю над проектом maven, для которого требуется установить SystemPropertyVariable (maven-surefire-plugin) в командной строке (-Dinstance = $ instance) и передать значение в CAP, как показано ниже

mvn test -Dinstance = UAT

 <build>
     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14.1</version>
            <configuration>
              <argLine>-Xmx512m -XX:MaxPermSize=256m</argLine>
              <!--  Suite testng xml file to consider for test execution -->
                <testFailureIgnore>true</testFailureIgnore>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
                <systemPropertyVariables>
                    <instance>${instance}</instance>
                    <urltype>${urltype}</urltype>
                </systemPropertyVariables>
            </configuration>
        </plugin> 
 </build>

Мне нужно преобразовать эту строку во все строчные буквы до или в фазе компиляции, чтобы ее можно было использовать в разных файлах или даже передавать в качестве аргумента для другого файла JAR.в качестве входных данных, которые используются в том же проекте

ПРИМЕЧАНИЕ: как я уже говорил, он будет передан в качестве аргумента в другой файл JAR в качестве ввода из POM.поэтому я хочу преобразовать в строчные буквы в POM перед использованием в этом банке, а затем он будет использоваться в тесте из файла данных, который он генерирует.

Пожалуйста, помогите мне Спасибо заранее

1 Ответ

0 голосов
/ 16 декабря 2018

Вы можете манипулировать свойствами с помощью groovy через плагин gmaven:

<plugin>
    <groupId>org.codehaus.gmavenplus</groupId>
    <artifactId>gmavenplus-plugin</artifactId>
    <version>1.6.2</version>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.5.3</version>
            <type>pom</type>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <executions>
        <execution>
            <id>add-dynamic-properties</id>
            <phase>initialize</phase>
            <goals>
                <goal>execute</goal>
            </goals>
            <configuration>
                <scripts>
                    <script>
                        <![CDATA[
                            instance = "${instance}"
                            lcInstance = instance.toLowerCase()
                            project.properties.setProperty('lcInstance', lcInstance)
                        ]]>
                    </script>
                </scripts>
            </configuration>
        </execution>
    </executions>
</plugin>

$ {lcInstance} теперь содержит строчную копию $ {instance}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...