1

多かれ少なかれすべてを一度にリリースする必要のあるSNAPSHOTアーティファクトが数多くあります。ソートを行い、依存関係を一覧表示するプラグインを探していました(依存関係:アルファベット順でリストに表示されるようですが、依存関係:ツリーはわれわれの目的にとって特に便利ではありません)。並べ替え(トポロジカル)依存関係

"依存度が最も低い"アーティファクトを最初にリリースし、その後に "依存度が高い"アーティファクトをリリースできるように並べ替えを行います。

誰もこのニーズに遭遇しましたか?

答えて

0

私はこれを自分でプラグインで実行しなければなりませんでした。 Mavenのリストの人々は、これが役に立つとは考えていないようでした。 testに設定する依存関係の解決とプラグインで、http://maven.40175.n5.nabble.com/Topologically-sorting-dependencies-tp3384898p3387803.html

簡単に言えば:ここで私はそれをやった方法です

  1. はそのgetArtifacts()呼び出しによってその成果物のためのMavenProjectを確認して下さい。
  2. 注射したMavenProjectBuilderに、ArtifactごとにMavenProjectをつけてください。
  3. MavenProjectのリストで武装している場合は、そのリストでProjectSorterと呼んでください。
  4. MavenProjectの結果のリストはトポロジカルにソートされます。
  5. MavenProjectのそれぞれについては、そのメソッドを使用してその定義を取得します。
  6. ArtifactgroupIdartifactIdを使用して、コロンで区切られたキーを作成します。
  7. 実際のMavenProjectのアーティファクトマップで解決済みのArtifactを検索するには、そのキーを使用します。
  8. そのアーティファクトにはgetFile()プロパティが設定され、必要な作業を行うことができます。

これは信じられないほど厄介ですが、他の方法はありません。これがあなたを助けることを願っています。

+0

2年後、より正確な解決策が見つかった:https://github.com/ljnelson/maven-artifacts/blob/master/src/main/java/com/edugility/maven /Artifacts.java#L80 –

関連する問題