問題タブ [gradlew]
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 のビルド タイプに応じて値を更新する
Gradle ビルドで Android Studio を使用しています。私のbuild.gradleでは、ビルド タイプごとに変数の値が異なるようにします。
コマンドを実行するとgradle clean assembleRelease
、出力テキストが表示されることを期待していましたMy var is release
。でも、なるほどMy var is debug
。の値が にmyVar
変更されないのはなぜrelease
ですか?
私が達成したいのは、実行中に現在のビルドタイプを取得することです。これを達成するためのより良い方法はありますか?
testing - ./gradlew test がビルドするビルドを特定する方法
build.gradle buildTypes (デバッグ、リリース) に 2 つの異なるビルドがあるとします。./gradlew test コマンドを実行すると、両方のビルドがビルドおよびテストされます。./gradlew test を実行するときに「デバッグ」ビルドのみをビルドおよびテストするように指定するにはどうすればよいですか?
python - プロセスを生成する Python スクリプトの実行時に Gradle タスクがブロックされるのはなぜですか?
Gradle タスクから Python スクリプトを実行すると問題が発生しました。
短縮版
Python スクリプトがプロセスを生成する Python スクリプトを実行する Gradle タスクがブロックされているように見えるのはなぜですか?
ロングバージョン
背景情報
3 つの Python スクリプトを作成しました。
- start.py: スクリプトが終了しても終了しない 2 つのプロセスを生成します。
- stop.py: 生成された 2 つのプロセスを強制終了します。
- test.py:
print("Done")
(このスクリプトはデバッグ目的で使用されました。)
ターミナル/コンソールからローカルで 3 つの Python スクリプトをすべて実行すると、期待どおりの動作が実行されます。
Python スクリプトごとに、タスクが Python スクリプトを呼び出す Gradle タスクがあります。私のbuild.gradleは次のようになります:
私が解決しようとしている問題
Gradle ラッパー実行可能ファイルを使用しています。実行するgradlew testPython
と、タスクが実行され、BUILD SUCCESSFUL
メッセージが表示されます。
したがって、これは がgradlew
ブロックせずに Python スクリプトを正常に実行できることを示しています。ただし、 を実行するgradlew start
と、2 つのプロセスが生成されます。Python スクリプトが 2 つのプロセスを生成するのではなく、それらを終了しないことが重要です。Gradle タスクが完了しません。ブロックされているようです。これが私が見る出力です:
ホストで開始されたプロセスを確認できます。また、コンソールに表示されるbefore start.py
exists, I . print("Exiting...")
これで、Python スクリプトが実行されて完了したことがわかりました。
別のターミナルで を実行するgradle stop
と、プロセスが正常に終了します。
ここが奇妙な部分です。gradle stop
コマンドが正常に完了すると、gradle start
以前はブロックされていた が突然完了します。
私の質問
start
とstop
を別々のタスクにする必要があります。だから私の質問は:
- build.gradle ファイルの内容は正しいですか?
- プロセスを生成する Python スクリプトを実行すると、Gradle がブロックされるのはなぜですか?
gradle start
Python スクリプトがプロセスを生成した後、タスクの「ブロックを解除」するにはどうすればよいですか?
java - JavaFX から Android
私は現在 JavaFX アプリケーションを開発しており、それを Android プラットフォームにデプロイしたいと考えています。
したがって、私はこのチュートリアルに従いました: JavaFX を使用した Android アプリの構築とデプロイ
Ensemble サンプルを使用しています。
convertJavaFXToAndroid.bat を実行した後、次のエラーが発生しました。
助けてください!
java - ビルド呼び出しでランタイム引数をラップする Gradle ラッパー
現在、Gradle 2.3 ( ShadowJar プラグインを使用して自己完結型の "fat JARS" をビルドする) でビルドするアプリがあり、次のビルド呼び出しでビルドされます。
これにより、 の下にファット JAR が生成されbuild/distributions
ます。
アプリを実際に実行するために、大量のランタイム引数があります。次に例を示します。
実際には、他にも数十の引数があります。これらのランタイム引数は環境固有であり、このアプリが実行されるマシンごとに異なるため、ファイル内のどこかにハードコードすることはできませんbuild.gradle
。Grails Wrapper を使用してこれらのランタイム引数を抽象化できるので、実行して、上記のコマンド./gradlew run
と同じことを行うように構成することができると誰かが私に言いました。java -jar
これが本当なら、このセットアップはどのように見えるでしょうか? それが真実でないなら、なぜですか?
url - URLからのgradle-wrapper.propertiesファイル?
別の URL からフェッチできるようにしたいgradle-wrapper.properties
、または他の URL から任意の設定を取得したい。
たとえば、gradle 自体では、単純に別の URL から設定を取得できます。
apply from: "https://my.url.com"
ファイルに対して同じことができgradle-wrapper.properties
ますか?
この問題を見て
================================================== =================
gradle
バージョンを更新するための 2 つのオプションがあります:
nightly
Wrapper
gradle_wrapper
ラッパープロパティファイルを更新するか、ラッパータスクを構成しますか? gradle バージョンを更新するオプションが 2 つある理由。gradle Wrapperタスクでgradleバージョンを更新できませんでした。常にプロパティファイルをリッスンします。
android - Android Gradle 依存関係は、Android によって提供される内部バージョンと競合します
この質問の重複の可能性がありますが、解決策は役に立ちませんでした。
私はすべてのソースコードをコピー/貼り付けするのは嫌いですが、gradleには方法がないようです:(これはgradleが私にスタッフを配置してから3日目なので、コードをここに置き、非常に多くのコードを入れたことをお詫びします...
メインプロジェクトに 3 つのプロジェクトがあります。したがって、私の settings.gradle は次のようになります。
私のメインのbuild.gradle(プロジェクトのルートにある)は次のようになります。
Robolectric および Instrument テストによる単体テストを行うために、私はテストして正常に動作する Decard -Gradleプロジェクトに従っています。
booking-sdk
アプリのビジネスロジックを保持するプロジェクトです。その構造は次のようになります。
と の下に同じパッケージ名が/src/main/java
あり/src/test/java
ます。最後に、 build.gradle はbooking-sdk
次のようになります。
clean コマンドを実行すると、結果は次のようになります。
./gradlew :passenger-sdk:check
コードを実行して単体テストの結果を確認すると、エラーが発生します。最初に出力を超えてから、次のような多くのエラーが発生します。
基本的に、すべてのインポートが存在するのに存在しないと言っており、コードファイルとクラスによって認識されるすべてのインポートにエラーはありません。
任意のアイデアをいただければ幸いです。ありがとう。