IntelliJプロジェクトの3つの基本ファイル(ipr、iws、およびimlファイル)には、アイデアタスクのgradleでアクセスすることができます。
project.ipr
module.iml
workspace.iws
.withXmlを使用すると、xmlにアクセスできます。 .asNode()を使用すると、Groovy XMLノードになります。
例:
project.ipr.withXml { provider ->
def node = provider.asNode()
そこからかなり簡単です - あなたのためにIntelliJプロジェクトを構成するためにgradleを変更し、開始時にファイルを取り出し、(IntelliJ内で)gradleを実行したいアクションを実行し、古いファイルで新しいファイルを比較します。アイデアジョブをカスタマイズするために必要なXMLが表示されます。また、XMLのどこに位置しているのかをメモする必要があります。
考慮すべき点のもう1つは、グラデーションのアイデアを複数回実行すると、IntelliJファイル内にノードが重複しないようにすることです。したがって、作成するノードを検索したい場合は、そのノードを作成して挿入することができます。
落とし穴:
場合によっては、findメソッドの文字列比較に==を使用すると失敗します。テストすると私はそれが事実であるとわかります、私は.containsを使用します。
ノードを検索するときは、条件として使用している属性がすべてのノードにあるわけではありませんので、必ずnullを確認してください。