如何在Gradle强制重新配置项目?
我有一个build.gradle文件,它调用一些SVNKit东西来导出构成gradle多项目的一些目录 我有一个任务专门做这件事,看起来像这样:如何在Gradle强制重新配置项目?,gradle,Gradle,我有一个build.gradle文件,它调用一些SVNKit东西来导出构成gradle多项目的一些目录 我有一个任务专门做这件事,看起来像这样: task checkoutIntoDir() << { mkdir 'dirForSvnProjects_2014_07_17_19_50' // timestamp not hard-coded ;) // prompt for username/password // run svn export which places
task checkoutIntoDir() << {
mkdir 'dirForSvnProjects_2014_07_17_19_50' // timestamp not hard-coded ;)
// prompt for username/password
// run svn export which places projects in dirForSvnProjects_2014_07_17_19_50
}
def myBuildDir
task createDir << {
def nowDate = String.format('%tY_%<tm_%<td_%<tH_%<tM',Calendar.instance)
myBuildDir= "_build_$nowDate"
mkdir myBuildDir
}
task checkoutIntoDir(dependsOn: createDir) << {
// prompt for username/password
// run svn export which places projects in myBuildDir
}
但当任务到达根项目时,它说在根项目中找不到任务“buildMyProj”。现在,如果我取出任务依赖项
checkoutitodir
,并在开始构建之前在那里的目录上运行它,它就可以正常工作了。我猜我需要运行某种“重新配置”来让项目意识到新的gradle项目,在dirForSvnProjects\u 2014\u 07\u 17\u 19\u 50
?我终于找到了答案
这实际上与我设置变量的方式有关,而与Gradle无关
我定义了一个createDir
任务,该任务设置了一个在脚本的“根”级别定义(但未设置)的变量。它看起来像这样:
task checkoutIntoDir() << {
mkdir 'dirForSvnProjects_2014_07_17_19_50' // timestamp not hard-coded ;)
// prompt for username/password
// run svn export which places projects in dirForSvnProjects_2014_07_17_19_50
}
def myBuildDir
task createDir << {
def nowDate = String.format('%tY_%<tm_%<td_%<tH_%<tM',Calendar.instance)
myBuildDir= "_build_$nowDate"
mkdir myBuildDir
}
task checkoutIntoDir(dependsOn: createDir) << {
// prompt for username/password
// run svn export which places projects in myBuildDir
}
这就是我为了简洁而省去片段的原因 不确定这将如何导致您的问题,但您编写的CheckOutitToDir将在配置时运行,而不是在执行时。您确定您的CheckOutitToDir任务正在工作吗?如果删除依赖项,然后运行“gradle Checkoutitodir buildCheckedOuteEquipment”,会发生什么情况?我回到办公桌后会尝试,谢谢。很抱歉出错,但我确实有