4

scala-maven-pluginfor Mavenのヘルプを探しています。Scaladoc を生成したいのですが、いくつか問題があります。

実際に、次のコマンドを入力して Scaladoc を作成できます。

mvn scala:doc

ここでの問題は、Scaladoc を生成するときに-no-link-warnings.

誰もこれを行う方法を知っていますか? 私は方法を見つけました(以下のコードは機能します)が、それが私がすべき方法だとは思いません。

私のpomファイルは次のとおりです。

<build>
    ...
    <plugins>
        <plugin>
            <!-- see http://davidb.github.com/scala-maven-plugin -->
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
            <version>3.2.1</version>
            <configuration>
                <args>
                    <arg>-no-link-warnings</arg>
                </args>
            </configuration>
            <executions>
                <execution>
                    <id>Compile</id>
                    <goals>
                        <goal>compile</goal>
                        <goal>testCompile</goal>
                    </goals>
                    <configuration>
                        <args>
                            <arg>-dependencyfile</arg>
                            <arg>${project.build.directory}/.scala_dependencies</arg>
                        </args>
                    </configuration>
                </execution>
            </executions>
        </plugin>
   ...
   </plugins>

編集

最初の返信でユーザー Tunaki によってより良いアプローチが提案されました。そこにコードが表示されます。

4

1 に答える 1

7

あなたの設定は完全に正しいですが、少し違った書き方をすることもできます。現在(ソースのコンパイルに関する部分を忘れて)、次のものがあります。

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.2.1</version>
    <configuration>
        <args>
            <arg>-no-link-warnings</arg>
        </args>
    </configuration>
</plugin>

このような構成では、 を実行するたびscala-maven-pluginに追加の引数 があることを宣言します-no-link-warnings。これは、グローバル構成要素内で宣言しているためです。コンパイル部分とまったく同じように、プラグインの実行に固有の構成を持つことができます。

<execution>
    <id>Compile</id>
    <goals>
        <goal>compile</goal>
        <goal>testCompile</goal>
    </goals>
    <configuration>
        <args>
            <arg>-dependencyfile</arg>
            <arg>${project.build.directory}/.scala_dependencies</arg>
        </args>
    </configuration>
</execution>

Compileこの構成は、実行が呼び出されるときにのみ考慮されます。


-no-link-warningsそのため、引数は実際には Scaladoc の生成に固有であるため、構成をプラグインの実行に固有になるように変更することをお勧めします。

これがプラグインの最終的な宣言になります。

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.2.1</version>
    <executions>
        <execution>
            <id>Scaladoc</id>
            <goals>
                <goal>doc</goal>
            </goals>
            <phase>prepare-package</phase>
            <configuration>
                <args>
                    <arg>-no-link-warnings</arg>
                </args>
            </configuration>
        </execution>
        <execution>
            <id>Compile</id>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
            <configuration>
                <args>
                    <arg>-dependencyfile</arg>
                    <arg>${project.build.directory}/.scala_dependencies</arg>
                </args>
            </configuration>
        </execution>
    </executions>
</plugin>

次に、たとえばプロジェクトをパッケージmvn package化すると、Scaladoc が正しい引数で自動的に生成されます。

于 2016-01-09T14:23:10.043 に答える