我目前正在运行
gradle 4.0.1
groovy 2.4.11
JVM 1.8.0_131
我尝试创建一个将执行两个不同Visual Studio解决方案的自定义任务。我有abc.sln和xyz.sln,我想有一个gradle脚本可以调用两个解决方案中的任何一个来构建。
buildscript
{
repositories
{
jcenter()
mavenCentral()
}
dependencies
{
classpath "com.ullink.gradle:gradle-msbuild-plugin:2.9"
}
}
msbuild {
group = "Custom"
solutionFile = 'abc.sln'
projectName = project.name
configuration = 'Debug'
//verbosity = 'detailed'
targets = ['Clean', 'Rebuild']
}
apply plugin 'msbuild'
我希望有另一项任务
task msbuild2 (type: msbuild) {
group = "Custom"
solutionFile = 'xyz.sln'
projectName = project.name
configuration = 'Release'
//verbosity = 'detailed'
targets = ['Clean', 'Rebuild']
}
然而我收到错误:
出了什么问题:评估根项目' Windows'
时出现问题com.ullink.Msbuild_Decorated无法强制转换为java.lang.Class
关于如何创建msbuild类型的自定义任务的任何想法?
答案 0 :(得分:1)
您必须在此处按类名传递任务类型。班级名称为com.ullink.Msbuild
。所以你可以做到
import com.ullink.Msbuild
task myMsBuild(type:Msbuild){
...
...
}
或
task myMsBuild(type: com.ullink.Msbuild){
...
...
}
BTW:案例敏感性在这里很重要!