問題タブ [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 - SourceSet のフル パス文字列またはパス ディレクトリを取得する
のような SourceSet のフル パス文字列またはファイル ディレクトリを返すプロパティがあるかどうかを知りたいです${project.projectDir}/src/${sourceSet.name}
。
java - Gradle ソース セットを使用して、dev/prod 間でリソース ディレクトリを交換する
Gradle を使用する Java アプリケーションがあります。現在、リソース ディレクトリには、Typesafe ConfigおよびLog4J構成ファイルが含まれています。
これらのファイルは両方とも、アプリケーションが開発用に構築されているか、運用用に構築されているかに基づいて、異なる設定になります。たとえば、本番環境では Log4J が INFO レベルでのみログを記録するようにします。
環境変数を使用してこれらの設定を交換することができません。私の唯一の選択肢は、これらのリソース ファイルを使用することです。
理想的には、Gradle 構成に 2 つのソース セット (1 つは開発 (メイン) 用、もう 1 つは製品用) を作成し、Gradle にこれらのソース セットごとに jar を作成させたいと考えています。メイン ソース セットは引き続き src/main/resources をリソース ディレクトリとして使用し、prod ソース セットは src/main/resources-prod をリソース ディレクトリとして使用します。
これらのリソース ディレクトリが他の場所にあっても問題ありません。上記は単なる例です。
現在、私の Gradle 構成の唯一のカスタム部分は次のとおりです (コンパイル依存関係の追加を除く)。
これを達成する方法を知っている人はいますか?
android - Android Gradle タスクでコンパイル済みの .class 出力ディレクトリを取得する
コンパイルされたファイルへのパスを知る必要がある Android プロジェクト用の Gradle タスクを作成してい.class
ます。どうすればこのパスを取得できますか? このパスを提供する提案 (こことここ;の Gradle ドキュメントSourceSet
も参照)を見つけましsourceSets.main.output.classDir
たが、それを使用しようとするとエラーが発生します
'output'
ソース セット にプロパティが見つかりませんでしmain
た。
これは、次のような新しい最小限のプロジェクトを作成した場合でも発生しますbuild.gradle
。
この最小限のプロジェクトは正常にビルドされますが、タスクを実行するとエラーが発生しますprintClassesDir
。.class
タスクでファイル出力ディレクトリを取得するにはどうすればよいですか?
<build variant>.javaCompile.classpath
from this answer to another questionの提案も試しました。このプロパティにアクセスできました
しかし、このファイル コレクションは空です。
参考までに、私の最小限のプロジェクトの他のファイルを次に示します。
src/main/AndroidManifest.xml
src/main/java/a/b/Main.java
intellij-idea - 統合テストがテストソースではなくソースとしてマークされる原因は何ですか?
これはコマンドラインからは正常に機能しますが、IntelliJ は integrationTest ソースをテスト ソースではなくソースであるかのように表示します。
Gradle コード:
gradle - マルチプロジェクトのgradle sourceSets
私のgradleマルチプロジェクトレイアウトはそうです:
project1 と project2 は build.gradle (rootProject 内) で構成されます。project1 と project2の testClassDirをsanity
に変更したいと思います。
私のbuild.gradleはそうです:
このブログをたどりました。マルチプロジェクトで構成が機能しない理由を理解しようとしています。