カスタムherpderp
Gradle タスクを作成しました。
task herpderp(type: HerpDerpTask)
class HerpDerpTask extends DefaultTask {
@TaskAction
def herpderp() {
println "Herp derp!"
}
}
これにより、このタスクを他の Gradle ビルドに追加して、他のプロジェクトのビルド呼び出し内で使用できます。
gradle clean build herpderp
現在、次のマルチプロジェクト設定があります。
myapp/
myapp-client/
build.gradle
src/** (omitted for brevity)
myapp-shared/
build.gradle
src/** (omitted for brevity)
myapp-server
build.gradle
src/** (omitted for brevity)
build.gradle
settings.gradle
どこmyapp/build.gradle
にある:
subprojects {
apply plugin: 'groovy'
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile (
'org.codehaus.groovy:groovy-all:2.3.7'
)
}
}
そしてどこにmyapp/settings.gradle
ある:
include ':myapp-shared'
include ':myapp-client'
include ':myapp-server'
myapp
親ディレクトリに移動して実行しgradler clean build herpderp
、herpderp
タスクをmyapp-client
andmyapp-shared
プロジェクト (サーバー プロジェクトではなく)でのみ実行できるようにしたいと考えています。
そのため、別のカスタム タスクまたはその内部にある種のクロージャ/メソッドが必要なようmyapp/build.gradle
です。
- 実行し
clean build
ます。それから cd
( ) を にドロップしmyapp-client
て実行しherpderp
ます。その後- にドロップし
myapp-shared
て実行しherpderp
ます。
親ビルド コマンドから呼び出され、クライアントおよび共有サブプロジェクトでのみ実行されるようにするには、ファイルに何を追加する必要がありますか?herpderp