Maven:如何允许某个 OS 进行构建?
Maven: How to allow a certain OS for build?
我知道我可以像这样使用 maven-enforcer-plugin
要求特定的 OS 家庭:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>check-os</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<requireOS>
<family>unix</family>
<message>
You should use Unix to build this.
</message>
</requireOS>
</rules>
</configuration>
</execution>
</executions>
</plugin>
但是我可以定义多个可用于构建的 OS(例如 Unix 和 Windows)吗?
找不到任何直接的方法,所以我很感激任何解决方法。
您可以使用配置文件来管理不同的 OS
例如:
<profiles>
<profile>
<id>exec-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build> <plugins> ....
<requireOS>
元素的主要目标是在构建过程中进行一些指令平台相关,即您需要根据当前操作系统执行一些操作,因此,如果您为某些 OS 定义配置一些插件并丢弃其他插件,那将没有多大意义。
本着这种精神,<requireOS>
不允许范围限制(您不能将多个 OS 定义为:<requireOS>[windows,linux]</requireOS>
)。
与此同时,您仍然可以编写自己的继承 EnforcerRule
的自定义规则,并且只有在当前操作系统不符合您的 自定义规则要求 OS 时才会使构建失败范围.
已经实施了我曾经使用过的规则。您可以查看 multiple-os-enforcer-rule project URL,在那里您可以找到有关如何使用自定义规则的更多详细信息。
有关自定义规则实施的更多信息,请参阅 Maven Docs
我知道我可以像这样使用 maven-enforcer-plugin
要求特定的 OS 家庭:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>check-os</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<requireOS>
<family>unix</family>
<message>
You should use Unix to build this.
</message>
</requireOS>
</rules>
</configuration>
</execution>
</executions>
</plugin>
但是我可以定义多个可用于构建的 OS(例如 Unix 和 Windows)吗?
找不到任何直接的方法,所以我很感激任何解决方法。
您可以使用配置文件来管理不同的 OS
例如:
<profiles>
<profile>
<id>exec-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build> <plugins> ....
<requireOS>
元素的主要目标是在构建过程中进行一些指令平台相关,即您需要根据当前操作系统执行一些操作,因此,如果您为某些 OS 定义配置一些插件并丢弃其他插件,那将没有多大意义。
本着这种精神,<requireOS>
不允许范围限制(您不能将多个 OS 定义为:<requireOS>[windows,linux]</requireOS>
)。
与此同时,您仍然可以编写自己的继承 EnforcerRule
的自定义规则,并且只有在当前操作系统不符合您的 自定义规则要求 OS 时才会使构建失败范围.
已经实施了我曾经使用过的规则。您可以查看 multiple-os-enforcer-rule project URL,在那里您可以找到有关如何使用自定义规则的更多详细信息。
有关自定义规则实施的更多信息,请参阅 Maven Docs