Как сделать так, чтобы этот плагин работал только на платформах, отличных от Windows? - PullRequest
16 голосов
/ 15 февраля 2012

Я использую Maven 3.0.3. Для тестирования интеграции нашего проекта нам требуется создать виртуальный кадровый буфер с помощью команд Unix. Однако когда мы запускаем наш проект на компьютерах с Windows, нам это не нужно. Мы используем

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>start-xvfb</id>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo message="Starting xvfb ..." />
                            <exec executable="Xvfb" spawn="true">
                                <arg value=":0.0" />
                            </exec>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>shutdown-xvfb</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo message="Ending xvfb ..." />
                            <exec executable="killall">
                                <arg value="Xvfb" />
                            </exec>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Как сделать так, чтобы вышеперечисленное работало, если платформа не Windows, и в противном случае подавить работу плагина? Спасибо, Дэйв

1 Ответ

20 голосов
/ 15 февраля 2012

Вы можете сделать это с помощью профилей.Для настроек ОС есть переключатель активации профиля.И плагин настолько интеллектуален, что вы можете использовать отрицание.

<profiles>
  <profile>
    <activation>
      <os>
        <family>!windows</family>
      </os>
    </activation>
    <build>
      <plugins>
        <plugin>
          ...
        </plugin>
      </plugins>
    </build>
    ...
  </profile>
</profiles>

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

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