私が知っている最も簡単な解決策は、リテラルの代わりにバージョンのプロパティを使用して、それらをpomファイルに定義することです。これはMaven 3.5.0から利用可能です。
あなたはこのようにそれを行うことができます。今、あなたが経由でそれを構築することができ
<project ...>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</version>
</parent>
<groupId>org.apache.maven.ci</groupId>
<artifactId>ci-parent</artifactId>
<name>First CI Friendly</name>
<version>${revision}</version>
...
</project>
:
mvn -Drevision=1.2.0-SNAPSHOT clean package
しかし、これは改正にあなたがしているコマンドラインからMavenを呼び出すたびに定義することを意味しますちょっと面倒です。だから、.mvn/maven.config
ファイルには、
-Drevision = 1.2が含まれています。
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</version>
</parent>
<groupId>org.apache.maven.ci</groupId>
<artifactId>ci-parent</artifactId>
<name>First CI Friendly</name>
<version>${revision}</version>
...
<properties>
<revision>1.0.0-SNAPSHOT</revision>
</properties>
</project>
これは、あなたが唯一のバージョンが定義されている場所ではなく、すべてのモジュール内など
を持っていることを意味:あなたはこのように自分自身をPOMのMavenの中にプロパティを定義することができます0-SNAPSHOT
マルチモジュールの設定は、上記の親の子はこのようになります。どこのようにも動作します:
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.maven.ci</groupId>
<artifactId>ci-parent</artifactId>
<version>${revision}</version>
</parent>
<groupId>org.apache.maven.ci</groupId>
<artifactId>ci-child</artifactId>
...
</project>
しかし、あなたはを使用する必要があることに注意してくださいdeploy such artifacts to a repositoryが好きな場合や、mvn install
としたい場合は、を入力してください。これは、このように見える必要があります:
あなたのプロジェクトのバージョンが定義されており、それが、これは劇的な問題をマージ減らす必要があり、単一の行を持って、最後に意味
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</version>
</parent>
<groupId>org.apache.maven.ci</groupId>
<artifactId>ci-parent</artifactId>
<name>First CI Friendly</name>
<version>${revision}</version>
...
<properties>
<revision>1.0.0-SNAPSHOT</revision>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<updatePomFile>true</updatePomFile>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<modules>
<module>child1</module>
..
</modules>
</project>
。
慎重にお読みください。
${revision}
,${changelist}
または${sha1}
他のプロパティは現在サポートされていません。
「開発」ブランチで働いているのはあなただけですか? –