2013-12-16 73 views
0

如果標誌「-N」(--non-recursive)不存在,是否有失敗的方法?我試圖完成這樣的事情:如何在失蹤標誌上失敗Maven構建

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-enforcer-plugin</artifactId> 
    <configuration> 
     <rules> 
      <requireProperty> 
       <property>-N</property> 
       <message>Missing --non-recursive flag</message> 
      </requireProperty> 
     </rules> 
    </configuration> 
</plugin> 

此強制執行策略在配置文件中。如果有一種方法可以激活配置文件中的非遞歸標誌,那就沒關係了。

回答

0

我遵循了一個更簡單的方法:evaluateBeanshell規則。感謝Stephen Connolly的回答,我已經設法找出「遞歸」布爾值在哪裏。

<plugin> 
    <artifactId>maven-enforcer-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>require non recursive flag</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <configuration> 
       <rules> 
        <evaluateBeanshell> 
         <condition>false == ${session.request.recursive}</condition> 
         <message>Non-recursive flag is missing</message> 
        </evaluateBeanshell> 
       </rules> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

我認爲它只適用於maven 3。

0

您可以編寫一個自定義執行者規則,該規則檢查並確保反應器項目列表包含一個且只有一個項目。這並不能保證你已經被-N調用過,但它對你想要的有效。