問題タブ [source-sets]

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.

0 投票する
1 に答える
226 参照

gradle - gradle プロジェクトに代替のメイン sourceSet を使用できますか?

メインの sourceSet に一連のテストとコードを含むトレーニング タスクを作成しています。また、別のタスクで実行できる別の sourceSet でサンプルの回答を提供したいと思います。2 つの異なるメイン soureSets で同じテスト セットを実行する方法はありますか?

0 投票する
3 に答える
7135 参照

gradle - Kotlin: テストでの java.lang.NoSuchMethodError

異なるソースセットで Kotlin パッケージ関数とパッケージ プロパティを使用することは可能ですか? そうしようとしたら、NoSuchMethodError投げてしまいました。


Kotlinコードと2つのソースセットを含むGradleプロジェクトがありmaintest. ではmain、ファイルの 1 つに次のコードがあります。

次のコードでtestアクセスしようとしています:payloadSplitter

そして、正確にpayloadSplitterアクセスされる最初の行で、実行時に取得します


他のグローバル変数と関数もtest同じエラーでアクセスできません。


UPD Kotlin チームがこの問題について説明し、こちらで修正を発表しました。

0 投票する
1 に答える
5330 参照

gradle - Gradle sourceSet は別の sourceSet に依存します

この質問は、あるソースセットを別のソースセットに依存させることに似ています

メインの SourceSet の他に、testenv SourceSet もあります。testenv SourceSet のコードはメイン コードを参照するため、メイン SourceSet を testenvCompile 構成に追加する必要があります。

sourceSets を依存関係として直接追加できないため、これは機能しません。これを行うための推奨される方法は次のとおりです。

しかし、これは eclipse では正しく機能しません。gradle ビルド フォルダーを消去すると、gradle ビルドに依存するため、eclipse がコンパイルできなくなるためです。また、メイン コードを変更した場合、Eclipse で変更を有効にするには、gradle でプロジェクトを再構築する必要があります。

依存関係を正しく宣言するにはどうすればよいですか?

編集:

これ

メインソースで動作しますが、.java ファイルを参照するようになったため、Annotation-Processor から生成されたクラスがありません:(

0 投票する
1 に答える
841 参照

java - Gradle: プラットフォームごとのビルドのための includeFlat と sourceSets の依存関係

私はJavaの世界とGradleが初めてです。複数のプラットフォーム (Android、Linux、および Windows) をサポートする JSerial lib を作成しました。

ターゲットとするプラットフォームを選択できるようにするために、JSerial gradle ファイルにいくつかの sourceSet を定義しました。

デフォルトのmainsourceSets は共通インターフェースなどを構築します。その後、windowssourceSet は Windows 実装を構築します (Linux と Android も同様です)。

このライブラリを使用し、gradle を使用して依存するプロジェクトを作成しますincludeFlat。私のgradleファイルの依存部分は次のとおりです。

これは機能します。しかし、このプロジェクトは Windows アプリケーションなので、「windows」sourceSet に依存したいと思います。私は次のことを試しました:

しかし、うまくいきません。次のエラーがあります。

SourceSet コンテナにプロパティ 'windows' が見つかりませんでした。

どうしたの ?

PS: sourceSets を使用せずに私が試みていることを行うためのより良い方法がある場合は、教えてください!

0 投票する
1 に答える
853 参照

java - gradle.settings に基づく Gradle ソースセット

プロジェクトの settings.gradle.

例:

build.gradle

settings.gradle

0 投票する
0 に答える
167 参照

android - カスタムソースセットでフレーバーを構築する

私のプロジェクトには複数のフレーバーとメイン フォルダーが含まれており、その値がそのフレーバーに存在する場合でも、特定のフレーバー gradle を使用してプロジェクトをビルドすると、共通のロジックが含まれます。

助けてください

プロジェクトの構造

  • メインプロジェクト
    • ソース
      • main (メイン プロジェクト)
        • ジャワ
      • フレーバー1
        • java/Appconstant.java
      • フレーバー2
        • java/Appconstant.java
      • ...

build.gradle ファイル

アプリの構造

ここに画像の説明を入力

編集 は提案に従ってプロジェクト構造を変更しましたが、メインにフレーバークラスが表示されなくなりました

0 投票する
0 に答える
975 参照

java - 複数のソースセットを含むGradleコンパイルjar

複数のソースセットのソースを含む gradle jar ファイルからビルドしたいと考えています。main と並んで、アノテーション処理からクラスを含むソース セットを生成しました。

メインのソースセットからjar固有のパッケージを除外し、生成されたソースセットから特定のパッケージを含めるにはどうすればよいですか?

次のようにjarに追加しようとすると:

次のエラー メッセージが表示されます: SourceSet コンテナーで「生成された」プロパティが見つかりませんでした。

次に、次のように定義しようとします。

しかしgeneratedClasses、生成されたクラスで実行インポートが見つからない場合

0 投票する
1 に答える
1987 参照

gradle - Gradle: アセンブリ内の個別のリソース ファイルを除外する

グラドル 2.5

いくつかのリソース バンドル ファイルがあります。それらのいくつかは、まだ承認された翻訳が含まれていないため、宛先の jar ファイルにパッケージ化することから除外したいと考えています。

ドキュメントと例によると、次のディレクティブがあることがわかりました。

そして、主なリソースのファイルセットを出力することによって、このディレクティブが正しく解釈されていることを主張します。

「gradle clean assembly」を実行すると、リソースセットの出力は確かに期待どおりです(除外されたファイルはそこにリストされていません)が、build/resource/フォルダーにはまだファイルが含まれており、宛先jarにも存在します.

私は何が欠けていますか?ソース セットに基づいて、リソース ファイルをビルド ディレクトリにコピーするのはどのタスクですか?