gpt4 book ai didi

SVN 使用 Gradle 提交

转载 作者:行者123 更新时间:2023-12-04 08:38:02 33 4
gpt4 key购买 nike

如何使用 Gradle 将单个文件提交到 SVN 1.7 存储库?

我想使用 Jenkins 来提供凭据、提交消息和文件路径。

最佳答案

图自this answer ,这是使用 SVNKit 提交单个文件的 Gradle 任务.

buildscript {
repositories { mavenCentral() }
dependencies { classpath "org.tmatesoft.svnkit:svnkit:1.7.11"}
}

import org.tmatesoft.svn.core.wc2.*
import org.tmatesoft.svn.core.wc.*
import org.tmatesoft.svn.core.*

task svnCommitFile(){
description = "Commits a single file to an SVN repository"
doLast{
if (!project.hasProperty("commitMsg")){
ext.commitMsg = "None"
}
SvnOperationFactory svnOperationFactory = new SvnOperationFactory()
def authentication = SVNWCUtil.createDefaultAuthenticationManager(svnUser, svnPassword)
svnOperationFactory.setAuthenticationManager(authentication)
try {
SvnCommit commit = svnOperationFactory.createCommit()
commit.setSingleTarget(SvnTarget.fromFile(new File(fileToCommit)))
commit.setCommitMessage(commitMsg)
SVNCommitInfo commitInfo = commit.run()
println "Commit info: " + commitInfo
println "Commit message: " + commitMsg
} finally{
svnOperationFactory.dispose()
}
}
}

使用 gradle svnCommitFile -PfileToCommit="path/to/file"-PcommitMsg="My message"-PsvnUser="me"-PsvnPassword="verySecret" 调用它


如果在每次提交项目后使用 Jenkins 完成此提交,您将进入无限构建循环,因为提交导致构建导致提交导致构建...

因此 Jenkins 应该忽略它自己的提交:在你的项目的构建配置中转到 Source Code Management --> Subversion --> Advanced 并添加 jenkins(或者你调用你的自动提交器)给 Excluded Users

关于SVN 使用 Gradle 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23411458/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com