2016-05-15 7 views
1

我々が有効になっているKotlinのMavenで空の場合はスキップKotlinのMavenプラグインは、当社の最上位のプロジェクトのPOMには、次のように:はプラグイン

<plugin> 
    <groupId>org.jetbrains.kotlin</groupId> 
    <artifactId>kotlin-maven-plugin</artifactId> 
    <version>${kotlin.version}</version> 

    <executions> 
     <execution> 
      <id>compile</id> 
      <phase>process-sources</phase> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
     </execution> 

     <execution> 
      <id>test-compile</id> 
      <phase>process-test-sources</phase> 
      <goals> 
       <goal>test-compile</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

ATM、このプロジェクトのモジュールのほんの一握りKotlinのソースコードを持っています。 (プロジェクトはおよそ50モジュールです)アイデアは最終的にほとんどがKotlinのコードを持っているということです。プロジェクトごとに物事を結びつける必要はありません。我々はそれを一度設定し、それを忘れてしまいます。

これは、我々はほとんどのモジュールのビルドには、この警告を得ることを除いて動作します:

[INFO] Kotlin Compiler version 1.0.2 
[WARNING] No sources found skipping Kotlin compile 

我々は同様にJARプラグインを使用してこの問題を抱えていました。このプラグインには、次のような設定オプションがあります。

<configuration> 
    <skipIfEmpty>true</skipIfEmpty> 
</configuration> 

このシャットダウンでは、このプラグインの同様の警告が表示されます。 Kotlinコンパイラプラグインにはこのような設定オプションはありません。

だから、私の質問は以下のとおりです。私たちが一望できている。このような構成オプションが

  1. ありますか?
  2. この警告を避けるために、Kotlinコンパイラプラグインを別に設定する必要がありますか?

TIA!

答えて

1

このようなことを処理するデフォルトの方法は、正しくないすべてのモジュールに対して継承されないように、pluginManagementによってプロジェクトの親にあるような設定を定義することです。 kotlin-のmaven-プラグインは、私が見つけられませんでした原因私はあなたを伝えることができないようなオプションが含まれている場合

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.jetbrains.kotlin</groupId> 
     <artifactId>kotlin-maven-plugin</artifactId> 
    </plugin> 
    </plugins> 
</build> 

:Kotlinを使用しているこれらのモジュールに比べて、あなたはPOMファイルに数行を追加する必要がありますそのソースコードは存在しません。また、すべてのデフォルトとオプションなどが含まれているmaven生成サイトは存在しません。本当に良いわけではありません。

他の解決策は、kotlin-mavenプラグインのコードを変更することを意味する独自のライフサイクルを持つプラグイン...プラグインのプラグインのコードを変更して、そのモジュールの<packaging>kotlin</packaging>を変更してください...

maven-jar-pluginにオプション<skipIfEmpty>..</skipIfEmpty>を追加する必要がある場合、これは間違っています...

+0

それを修正しました。ありがとう@khmarbaise。 –

関連する問題