基本プラグインを使用していくつかのアーティファクトを公開したいと考えています。これは私のビルドがどのように見えるかです:
apply plugin: 'base'
group = 'eu.com'
version = '0.9'
def winCdZip = file('dist/winCd.zip')
configurations {
wincd
}
repositories {
ivy {
url 'http://ivy.repo'
}
}
artifacts {
wincd winCdZip
}
buildscript {
repositories {
ivy {
url 'http://ivy.repo'
}
}
dependencies {
classpath group: 'eu.com', name:'MyCustomTask', version:'0.9-SNAPSHOT', configuration: 'runtime'
}
}
buildWincd {
// call MyCustomTask; is it possible to call it in this way?
MyCustomTask {
// pass few parameters required by this task
}
// I know that it's impossible to call zip in this way but I don't want to create another task
zip {
// build zip and save it in 'winCdZip'
}
}
uploadWincd {
repositories { add project.repositories.ivy }
}
そして、それらは私が解決すべき問題です:
- ネストされたタスクを作成することは可能ですか?
- 新しいタスクを作成せずにクロージャーを使用してzipを呼び出すことは可能ですか?
- クロージャーを使用してカスタムタスクを呼び出すことは可能ですか (2 番目のポイントと同じ例)?
この方法でzip /カスタムタスクを作成できます
task myZip(type: Zip) {
// do the job
}
このように呼び出すことは可能ですか?
zip {
// do the job
}
クロージャーを使用してタスクを呼び出すことができない場合、どうすればよいですか? 新しいタスクを作成することが唯一の方法ですか? ネストされたタスクを作成できますか?