2017-08-02 13 views
0

私はMaven 3.3.9を使用しています。 設定が異なる同じプラグインに対して同じ目標を設定することはできますか?私はそれだけで無視ます<execution>内部<configuration>タグを置けば 私はこの異なる設定の同じプラグイン

<build> 
    ... 
    <pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.6.0</version> 
      <executions> 
       <execution> 
       <id>test1</id> 
       <goals> 
        <goal>exec</goal> 
       </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executable>dir</executable> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.6.0</version> 
      <executions> 
       <execution> 
       <id>test2</id> 
       <goals> 
        <goal>exec</goal> 
       </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executable>cd</executable> 
      </configuration> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 

のようなものを意味します。

プラスタグ<goalPrefix>は...ので、私はそれらを区別するために目標をエイリアスする方法がわからない

EDIT

が動作していない私は私が作った二つの異なるスクリプトを実行する必要がありますが、のみなどスクリプトはコードに対していくつかのテストを実行しますが、テストはオプションです。プログラマが明示的にテストを実行する必要がある場合にのみ実行する必要があります。私ははい、それは${project.build.directory}変数

+0

あなたはそれで何を達成しますか?私 – Jens

答えて

2

使いたいので

私はMavenの中にそれらのスクリプトを埋め込みたい理由があります。しかし、通常はそれらをすべて同じプラグイン定義に含めます。私たちは、ツリーの振る舞いをするために、これを行います。私たちのプロジェクトでは、角度2のUIのコンパイルと縮小を先取りしています。私たちの設定は次のようになります:

  <plugins> 
       <plugin> 
        <groupId>com.github.eirslett</groupId> 
        <artifactId>frontend-maven-plugin</artifactId> 
        <version>1.0</version> 
        <executions> 
         <execution> 
          <id>npm run typescript compiler</id> 
          <phase>compile</phase> 
          <goals> 
           <goal>npm</goal> 
          </goals> 
          <configuration> 
           <arguments>run compile_ts_ngc</arguments> 
          </configuration> 
         </execution> 

         <execution> 
          <id>rollup</id> 
          <phase>compile</phase> 
          <goals> 
           <goal>npm</goal> 
          </goals> 
          <configuration> 
           <arguments>run rollup</arguments> 
          </configuration> 
         </execution> 

         <execution> 
          <id>gulp build</id> 
          <phase>compile</phase> 
          <goals> 
           <goal>gulp</goal> 
          </goals> 
          <configuration> 
           <arguments>aot</arguments> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 

コンパイルフェーズでは、2つの異なるnpmコマンドを実行しています。それらは上から下に指定された順序で実行されます。

私はあなたがそれらを差別化するために何をしようとしているのか完全にはっきりしていませんか?注文のためのものなのか、条件付き実行なのか?通常は、特定の条件で実行する必要のある個別のタスクをプロファイルに入れて、いつ実行するかを簡単に指定できます。

関連する問題