問題タブ [multi-project]
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.
maven - (maven) リポジトリと Maven/Gradle を使用して複数のプロジェクトを管理するベスト プラクティスは?
これは正確に Gradle の問題ではありません。しかし、より一般的なビルドの問題です。以下のような構造のプロジェクトがいくつかあります。
これらは別個の CVS モジュールです。A、B、D は Java プロジェクトであり、2 つのチーム (チーム 1、3) によって管理されています。C は、別のチームによって管理される C++ プロジェクトです (2)。B は JNI 経由で C を使用します。(C が C++ であるという事実はそれほど重要ではありません。重要なのは、別のチームによって開発および管理されているということです。) 2 つのアプリケーションがあり、A はアプリケーション 1 の入り口であり、A->B->Cです。D はアプリケーション 2 のエントリ ポイントであり、D->B->C. 開発には、多くの場合、3 つのレベルすべての変更が含まれます。3 つのチームはすべて一緒に座り、常にコミュニケーションをとっています。実際には、私たち (チーム 1) は C のアプリケーション 1 にいくつかの変更を加える必要があるかもしれません。チーム 2 は C で作業し、一時的なコピーを提供します。統合後、さらに変更が必要になる場合があります。1つの問題に対して何回か往復します。アプリケーション 2 についても同様です。
現在、A、B、D はさまざまな ant スクリプトによって管理され、C は make によって管理されています。新しいツール、特に Gradle の調査を開始しました。最初のカットでは、A に B が (Gradle の意味で) サブプロジェクトとして含まれており、それらは常に一緒にビルドおよび公開されます。また、常に C のヘッド (Windows でソースからコンパイルしたもの、または最新の Jenkin ビルドを取得したもの) を使用し、ビルドに満足したら、3 つのプロジェクトすべてにタグを付けます。最近、内部 Artifactory リポジトリを採用しました。依存関係とバージョン管理をどう管理するかを考えています。完成したら、モジュール D のチーム 3 にも紹介します。
- C を A のサブプロジェクトとして含めて、3 つすべてを常に最初から構築することができます。同様に、C と B を D のサブプロジェクトとして含めます。たとえば、アプリケーション名をバージョン名に含めることができます。
- あるいは、リポジトリ内の固定バージョンの C に常に依存することもできます。
2 では、C のヘッド/スナップショットに完全に依存することはできません。これは、C の開発を伴い、不安定になる可能性があるためです。しかし、頻繁に変更する必要があるため、C の変更ごとに新しいバージョンを作成するのは非現実的です。
このような設定のベスト プラクティスは何ですか? インターネットで簡単に検索しても、あまり結果が得られません。誰かアドバイスをくれたり、本や文書を教えてくれませんか?
どうもありがとう。
gradle - 複数のLibフォルダーを持つGradleマルチプロジェクト依存関係
次のようにレイアウトされたプロジェクトがあります。
lib
プロジェクトのフォルダー内にabc-framework
は、コア フレームワークと、フレームワークが機能するために必要な依存関係を表す一連の jar があります。
私が達成したいのは、瓶の下abc-core
にあるものでありabc-utility
、瓶を利用できるようにすることですlib
。
次のようなことをしていることがわかりました:
うまくいきましたが、これは各セクション (abc-core:abc-core-actions-a、abc-utility など) を意味します。上記のようなセクションとそれに関連するセクションを含める必要があります。
理想的には、すべてのサブプロジェクトがそれらのフォルダーに fileTree 依存関係を持つことを定義したいと思いますが、問題はサブプロジェクトに応じてパスが変更されることです。
では、プロジェクトの絶対パスをcompile fileTree
参照する最良の方法は何でしょうか?abc
gradle - 依存関係を必要に応じてgradleコンパイルするか、それ以外の場合はjarを使用します
マルチモジュール プロジェクトで gradle を使用することに興味があります。この質問Gradle nested multi-projects with project compile dependenciesを再利用し、その依存関係についても説明します。
元の質問のように、PP1 をコンパイルしたいのですが、オンデマンドでのみコンパイルします。それ以外の場合は、最新のビルド jar 依存関係を使用したいと考えています。
理想的には、私は次のようなものが欲しい
PP1 ディレクトリ内のソース ファイルが最新のビルドされた jar よりも新しい場合にコンパイルされます。厳密に必要な場合にのみコンパイルするという考え方です。決定は、ソース ファイルと jar ファイルの最終変更のタイムスタンプから行うことができます。
さらに複雑で潜在的に効率的なものにするために、バージョン管理システムの出力に基づいて決定を下す必要があります。時間 X またはリビジョン R 以降に変更があった場合は、チェックアウトしてコンパイルします。それ以外の場合は、jar 依存関係を使用します。
誰かがこの問題を解決しましたか? カスタムgradle/groovyプラグインで解決できると思いますが、誰かがすでに解決しているに違いありませんか?
ありがとう。
java - さまざまなプロジェクトからさまざまなパッケージを呼び出す
わかりました, これが可能かどうかはわかりません. ばかげているように聞こえるかもしれません.プログラム、新しいプロジェクトと新しいパッケージを作成し、上記のすべてのパッケージを1つのファイルで呼び出して実行することは可能ですか?
たとえば、16 進数から 10 進数へのコンバーターが 1 つあり、10 進数から 16 進数への別のプロジェクトがあり、convertors という名前の新しいプロジェクトを作成し、その中に if および else 関数があるとします。
私は言った sout("1)16 進数から 10 進数へのコンバーター 2)10 進数から 16 進数へ、コンバーターを使用するタイプ番号");
1 つのプロジェクトで外部プロジェクトまたはパッケージを呼び出すことは可能ですか?
ありがとう。
java - サブプロジェクトがメイン プロジェクトに依存する Gradle プロジェクトをどのように構成しますか?
別のサブプロジェクトに移動しようとしているソース コードにミニ アプリケーションがあります。ただし、ミニアプリケーションはメイン プロジェクトに依存します。build.gradle
これを反映するファイルをどのように設定しますか?
これが私のディレクトリ構造です:
build.gradle
サブプロジェクトのファイルで次のようなことができると考えていました。
しかし、それはうまくいかないようです。