問題タブ [gradle-plugin]
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.
android - Jenkins がカスタム Gradle タスクを認識しない
Jenkins を使用して build.gradle ファイルから単体テストを実行しようとしています。Android Studio のターミナルでコマンド./gradlew tasks
を使用すると、設定したカスタム タスクを表示できます。ただし、jenkins を介して同じコマンドを実行しようとすると、タスクの出力でそれらを見ることができません。
私のbuild.gradleからのコードスニペット
Android Studio 出力
ジェンキンスの出力
ご覧のとおり、私が作成した他のカスタム タスクがあり、それらも jenkins の出力に含まれていません (例: testingTaskmsma、hello など)。私は、gradle ラッパーを使用して Jenkins のセットアップを試し、グレード オプションを呼び出しました (グレード プラグインを使用してjenkins) どちらも機能しません。
maven - Gradle - MavenDeployer URL を取得する
現在、タスクで Maven Deployer の URL を取得しようとしていますが、失敗しています。Maven Deployer 自体は取得できますが、メソッドを呼び出すときに RemoteRepository タイプのオブジェクトを作成できないようmavenDeployer.getRepository()
です。
build.gradle
ファイルは次のとおりです。
私のタスクで:
以下が表示されます。
スタック トレースは次のように終了します。
どうやら、org.apache.maven.artifact.ant.RemoteRepository
正常にインポートした後でも、Gradle は class を見つけることができません。class を作成する行をコメントアウトすると、正常にMavenDeployer
動作します。
これを修正する方法はありますか?そうでない場合、Maven Deployer のリポジトリ URL を取得する別の方法はありますか?
android - Android libpng 警告: iCCP: 編集された既知の sRGB プロファイルを認識していません (解決策として繰り返します)
問題を解決するために失敗したネット上のすべてのソリューションと同じ質問を繰り返して申し訳ありません。さまざまな Java 、Android SDK、i386 ライブラリを使用して Linux Mint 17.2 を何度もインストールしましたが、すべて失敗します。
Gradle は警告を表示しています
私のビルドスクリプトは
しかし、これを
クラスパス「com.android.tools.build:gradle:1.0.1」クラスパス「com.jakewharton.sdkmanager:gradle-plugin:0.12.+」を使用しています
これらを再度変更すると、さまざまな問題が発生します。とにかくこれはこの問題/バグを解決するためにありますか
正常に動作していますが、私たちのプロジェクトでは他のライブラリに 22 個必要です。
gradle - Gradle Native Binaries Plugin がタスクを作成するとき
マルチプロジェクトのgradle構成に取り組んでいます。
ルート プロジェクトには、すべてのサブプロジェクトをスキャンして "NativeComponents" を探し、見つかったすべてのネイティブ コンポーネントのビルド タスクの依存関係を持つ汎用タスクを作成するプラグインがあります。
問題は、一般的なタスクの依存関係を (コンポーネントのビルドタスクに) 設定したときです。一般的なタスクを作成するときに (ルート プロジェクトの評価中に) 依存関係を設定しようとすると、次のエラーが表示されます。
実行フェーズ (一般的なタスクの実行) で依存関係を設定しようとしても、Gradle ではタスクの実行後に依存関係を設定できないため、機能しません。エラーが表示されます:
プロジェクトの評価順序も次のように変更しようとしました。
しかし、何の成功もありません。
各サブプロジェクトのタスク数を出力すると、最初のタスクの実行後までタスクがゼロのままの NativeBinaries プロジェクトが表示されます。
編集:
@Opal が示唆する方法、project.afterEvaluate
ステートメントを使用しようとしましたが、機能しませんでした。彼の「afterEvaluate」イベントで、各プロジェクトのタスク番号を出力したとき。NativeBinaries プロジェクトにはまだタスクがありません。
ここでは、この問題をテストするための単純なマルチ プロジェクトを見つけることができます。ルートと ProjA の 2 つのプロジェクトがあります。ルート プロジェクトは、printTasks() 関数をルート プロジェクトの次のイベントに登録する Distribution プラグインを適用します。
project.beforeEvaluate
(発生していません)project.afterEvaluate
project.getGradle().projectsEvaluated
project.getGradle().projectsLoaded
(発生していません)project.getGradle().taskGraph.whenReady
project.allprojects.each { p-> p.afterEvaluate }
project.getGradle().addBuildListener
buildStarted
(発生していません)settingsEvaluated
(発生していません)projectsLoaded
(発生していません)buildFinished
projectsEvaluated
イベントproject.afterEvaluate
、project(gradle).afterEvaluate
、project(ProjA).afterEvaluate
、BuildListener::projectsEvaluated
およびproject.getGradle().projectsEvaluated
プリント:
イベントproject.getGradle().taskGraph.whenReady
とBuildListener::
プリントのみ:
残念ながら、この 2 つのイベントは再作成が遅すぎて、タスクに依存関係を追加できません。
どうすれば解決できますか?