2

私のsettings.gradleファイルは次のようになります。

include "serverTest", "shared"

そして、serverTestbuild.gradleファイルは次のようになります。

group = 'gradle'
version = '1.0'
defaultTasks 'build'
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = JavaVersion.VERSION_1_6

dependencies
{
  compile project(':shared')
}

ディレクトリ構造は次のとおりです。最上位には settings.gradle ファイルがあり、その中に shared フォルダーと serverTest フォルダーがあります。次に、serverTest ディレクトリに build.gradle ファイルがあります。

トップレベルでgradleを実行すると、次のように出力されます。

:shared:compileJava UP-TO-DATE
:shared:processResources UP-TO-DATE
:shared:classes UP-TO-DATE
:shared:jar UP-TO-DATE
:serverTest:compileJava UP-TO-DATE
:serverTest:processResources UP-TO-DATE
:serverTest:classes UP-TO-DATE
:serverTest:jar UP-TO-DATE
:serverTest:assemble UP-TO-DATE
:serverTest:compileTestJava
:serverTest:processTestResources UP-TO-DATE
:serverTest:testClasses
:serverTest:test

ただし、タスクを実行したくありません:serverTest:test。defaultTasks を compileJava だけに変更しようとしましたが、うまくいきませんでした。他にアイデアはありますか?

4

2 に答える 2

6

さて、この質問はさまざまな方法で尋ねられましたが、質問の主なテーマは次のとおりです。

ビルドタスクのサブタスクを除外するには?

1. gradle ビルド -x テスト

上記の手順は、CLI から gradle build コマンドを実行する際に役立ちます。これはテスト タスクを除外しますが、build.gradle ファイルでプログラムによってテスト タスクを除外したいと考えています。それぞれの質問に対する回答の下を見てください。

2. check.dependsOn -= テスト

この小さなスクリプトを build.gradle ファイルにコピーします。CLI からgradle buildを実行すると、テストはまったく実行されません。

乾杯 !

于 2014-06-10T10:19:09.640 に答える
2

You could try to disable the task only if a build task is present... Something like:

project(":serverTest").test.onlyIf { !gradle.taskGraph.hasTask(":shared:build") }
于 2013-02-11T20:28:36.343 に答える