我想通过此插件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/

10-11 17:09