web-dev-qa-db-ja.com

GradleがプラグインのローカルMavenリポジトリを検索しないのはなぜですか?

Gradleプラグインを作成し、ローカルのmavenリポジトリに公開しました。 〜/ .m2/repositoryで確認できます。ただし、このプラグインを使用するためにGradleプロジェクトを実行すると、ローカルリポジトリは検索されません。少なくとも、出力に基づいているわけではありません。

コマンドラインから実行すると、これが報告されます。

失敗:ビルドは例外で失敗しました。

場所:ビルドファイル 'D:\ Work\MuseProject\update4j-gradle-plugin\example\build.gradle'行:15

問題点:プラグイン[id: 'net.christophermerrill.gradle.update4j'、version: '0.1']は、次のソースのいずれにも見つかりませんでした:

-Gradle Coreプラグイン(プラグインは「org.gradle」名前空間にありません)

-プラグインリポジトリ(プラグインアーティファクト 'net.christophermerrill.gradle.update4j:net.christophermerrill.gradle.update4j.gradle.plugin:0.1'を解決できませんでした)

次のリポジトリで検索されました:Gradle Central Plugin Repository

Buildscript構成にmavenLocal()を追加しました。 (他の場所で提案されたように)特定の依存関係を追加しても効果はありませんでした

buildscript {
  repositories {
      mavenLocal()
  }
  dependencies {
      classpath 'net.christophermerrill:update4j-gradle-plugin:0.1'
  }
}

出力からわかりますが、ローカルリポジトリを調べていませんが、100%確実ではありません。 --scanオプションと--infoオプションを使用しても、追加の洞察は得られません。プラグインのロードが完了する(推測するだけ)前にエラーが表示されるためと思われます。

GradleがローカルのMavenリポジトリを探しているかどうかを判断する方法はありますか?私はこれを可能性として排除しようとしています。もちろん、代わりに、私のプラグインが正しく公開されていません。私がこれを解決した後、それが私の次の質問になります:)

9
CMerrill

カスタムプラグインリポジトリ の指定は有望に見えます。この機能を使用すると、gradleプラグインポータルに加えて、他のリポジトリから解決するようにplugins{} DSLを構成できます。 settings.gradleを次のような構成で更新したいと思います。

pluginManagement {
  repositories {
      mavenLocal()
      gradlePluginPortal()
  }
}

(このコードブロックはsettings.gradleの上部に表示する必要があることに注意してください)。

15
bto