問題タブ [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.
gradle - gradle プロジェクトに代替のメイン sourceSet を使用できますか?
メインの sourceSet に一連のテストとコードを含むトレーニング タスクを作成しています。また、別のタスクで実行できる別の sourceSet でサンプルの回答を提供したいと思います。2 つの異なるメイン soureSets で同じテスト セットを実行する方法はありますか?
gradle - Kotlin: テストでの java.lang.NoSuchMethodError
異なるソースセットで Kotlin パッケージ関数とパッケージ プロパティを使用することは可能ですか? そうしようとしたら、NoSuchMethodError
投げてしまいました。
例
Kotlinコードと2つのソースセットを含むGradleプロジェクトがありmain
、test
. ではmain
、ファイルの 1 つに次のコードがあります。
次のコードでtest
アクセスしようとしています:payloadSplitter
そして、正確にpayloadSplitter
アクセスされる最初の行で、実行時に取得します
他のグローバル変数と関数もtest
同じエラーでアクセスできません。
UPD Kotlin チームがこの問題について説明し、こちらで修正を発表しました。
gradle - Gradle sourceSet は別の sourceSet に依存します
この質問は、あるソースセットを別のソースセットに依存させることに似ています
メインの SourceSet の他に、testenv SourceSet もあります。testenv SourceSet のコードはメイン コードを参照するため、メイン SourceSet を testenvCompile 構成に追加する必要があります。
sourceSets を依存関係として直接追加できないため、これは機能しません。これを行うための推奨される方法は次のとおりです。
しかし、これは eclipse では正しく機能しません。gradle ビルド フォルダーを消去すると、gradle ビルドに依存するため、eclipse がコンパイルできなくなるためです。また、メイン コードを変更した場合、Eclipse で変更を有効にするには、gradle でプロジェクトを再構築する必要があります。
依存関係を正しく宣言するにはどうすればよいですか?
編集:
これ
メインソースで動作しますが、.java ファイルを参照するようになったため、Annotation-Processor から生成されたクラスがありません:(
java - Gradle: プラットフォームごとのビルドのための includeFlat と sourceSets の依存関係
私はJavaの世界とGradleが初めてです。複数のプラットフォーム (Android、Linux、および Windows) をサポートする JSerial lib を作成しました。
ターゲットとするプラットフォームを選択できるようにするために、JSerial gradle ファイルにいくつかの sourceSet を定義しました。
デフォルトのmain
sourceSets は共通インターフェースなどを構築します。その後、windows
sourceSet は Windows 実装を構築します (Linux と Android も同様です)。
このライブラリを使用し、gradle を使用して依存するプロジェクトを作成しますincludeFlat
。私のgradleファイルの依存部分は次のとおりです。
これは機能します。しかし、このプロジェクトは Windows アプリケーションなので、「windows」sourceSet に依存したいと思います。私は次のことを試しました:
しかし、うまくいきません。次のエラーがあります。
SourceSet コンテナにプロパティ 'windows' が見つかりませんでした。
どうしたの ?
PS: sourceSets を使用せずに私が試みていることを行うためのより良い方法がある場合は、教えてください!
java - gradle.settings に基づく Gradle ソースセット
プロジェクトの settings.gradle.
例:
build.gradle
settings.gradle
java - 複数のソースセットを含むGradleコンパイルjar
複数のソースセットのソースを含む gradle jar ファイルからビルドしたいと考えています。main と並んで、アノテーション処理からクラスを含むソース セットを生成しました。
メインのソースセットからjar固有のパッケージを除外し、生成されたソースセットから特定のパッケージを含めるにはどうすればよいですか?
次のようにjarに追加しようとすると:
次のエラー メッセージが表示されます: SourceSet コンテナーで「生成された」プロパティが見つかりませんでした。
次に、次のように定義しようとします。
しかしgeneratedClasses
、生成されたクラスで実行インポートが見つからない場合
gradle - Gradle: アセンブリ内の個別のリソース ファイルを除外する
グラドル 2.5
いくつかのリソース バンドル ファイルがあります。それらのいくつかは、まだ承認された翻訳が含まれていないため、宛先の jar ファイルにパッケージ化することから除外したいと考えています。
ドキュメントと例によると、次のディレクティブがあることがわかりました。
そして、主なリソースのファイルセットを出力することによって、このディレクティブが正しく解釈されていることを主張します。
「gradle clean assembly」を実行すると、リソースセットの出力は確かに期待どおりです(除外されたファイルはそこにリストされていません)が、build/resource/フォルダーにはまだファイルが含まれており、宛先jarにも存在します.
私は何が欠けていますか?ソース セットに基づいて、リソース ファイルをビルド ディレクトリにコピーするのはどのタスクですか?