我想通过此插件https://github.com/seu-as-code/seu-as-code.plugins/tree/master/seuac-svn-plugin从json文件动态添加Subversion存储库以 check out
这是来自插件页面的示例
subversion {
SeuAsCodePlugins {
url 'https://github.com/seu-as-code/seu-as-code.plugins'
directory file("$seuHome/codebase/seu-as-code.plugins/")
username svnUsername
password svnPassword
}
}
这是我的实现
def svn_repositories = ['url1', 'url2']
svn_repositories.each { svn_url ->
println("adding repository $svn_url ")
subversion << {
name = svn_url
url = svn_url
directory = file("$rootDir/$svn_url/")
username = 'user'
password = 'pass'
}
}
但我得到这个错误-
错误:没有方法签名:de.qaware.seu.as.code.plugins.svn.SvnPlugin $ _configureSvnTasks_closure1_closure2.doCall()适用于参数类型:(build_9zpeh26t5p1wvuzbyjmrvyck7 $ _run_closure2 $ _closure3p_v__suresure_v_h_3 49f44947]
可能的解决方案:doCall(de.qaware.seu.as.code.plugins.svn.SvnRepository),findAll(),findAll(),isCase(java.lang.Object),isCase(java.lang.Object)
任何想法如何动态地做到这一点?
最佳答案
我通过这种方式修复它:
def svn_repositories = ['url1', 'url2']
svn_repositories.each { svn_url ->
println("adding repository $svn_url ")
def svnRepository = new SvnRepository(svn_url)
svnRepository.url = svn_url
svnRepository.directory = file("$rootDir/$svn_url/")
svnRepository.username = 'user'
svnRepository.password = 'pass'
subversion << svnRepository
}
但是想使用更多的“时髦”风格。
关于gradle - 如何动态地向NamedDomainObjectContainer扩展添加新部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35885866/