問題タブ [maven-publish]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Maven-Publish は、POM で API/実装の依存関係を公開しません
maven-publish
gradle でプラグインを使用してアーティファクトを公開しています。コンシューマーが必要な依存関係を取得できるように、依存関係を含む POM ファイルを生成する必要があります。
maven-publish
デフォルトではPOMファイルへの依存関係が含まれていないため、使用する必要がありました
compile
キーワードをapi
orに交換するまで、すべてうまくいきましたImplementation
。api
公開された POM には、キーワードまたはを使用する依存関係が含まれていませんImplementation
。私はcompile
それをPOMファイルに含めるために使用しなければなりませんでした.ここに何か欠けていますか?
java - プロジェクトが変更されていない場合、アーティファクトを Nexus に公開しないでください
マルチプロジェクト ビルドの一部として 2 つのプロジェクトがProjectA
ありProjectB
ます。
ProjectA
にcompile
依存していProjectB
ます。ビルド番号の自動インクリメントもあり、各プロジェクトにはversions.json
最新のビルド番号を含むファイルが含まれています。でこのビルド番号をインクリメントする gradle スクリプトがありますgradle publish
。
これで、 に変更が加えられProjectA
、gradle clean publish
が実行されると、ProjectB
変更されていないにもかかわらず、 も Nexus にデプロイされます。どうすればこれを防ぐことができますか?
このプロセスは CI サーバーによって発生し、常に新しいクローンから実行されるため、ビルドは常にクリーンから実行されることに注意してください。したがって、次のようなソリューションは機能しません。
アーティファクトがアップストリームの最新コピーと異なる場合、アーティファクトが Nexus にのみ公開されるようにするにはどうすればよいですか? おそらく、これを解決する 1 つの方法はpublish
、依存プロジェクトで を実行しないことです。しかし、どのように?
gradle - Bintray プラグインがアーティファクト バージョンを取得しない
公式のGradle プラグインを使用してアーティファクトを Bintray にデプロイしようとしています。私の予想に反して、プラグインは build.gradle に設定されているバージョンを使用しませんが、次のようにランダムなバージョン文字列を自動生成します:
私のbuild.gradleは次のようになります。自分の構成をオンラインのいくつかの構成と比較しましたが、矛盾は見つかりませんでした。