def createChangelist(p4) {
def changelistId = -1
def changeForm = p4.fetch("change", "")
changeForm.put("Description", "Integrate")
def changeMsg = p4.save("change", changeForm)
def changeOutput = changeMsg[0].get("change")
if (changeOutput) {
def match = changeOutput =~ /Change (\d+)/
changelistId = match[0][1]
}
return changelistId
}
node {
def view = "
def spec = clientSpec(allwrite: false, backup: false, clobber: false, compress: false, line: 'LOCAL', locked: false, modtime: false, rmdir: false,
serverID: '', streamName: '', type: 'WRITABLE', view: view)
def ws = manualSpec(charset: 'none', name: 'jenkins-${JOB_NAME}', spec: spec)
def p4 = p4(credential: 'phooey', workspace: ws)
def clientName = p4.getClientName()
def sourceFile = "
def targetFile = "
try {
def changelistId
stage("Integrate") {
changelistId = createChangelist(p4)
p4.run("integ", "-c${changelistId}", sourceFile, targetFile)
}
stage("Resolve") {
p4.run("resolve", "-as", ")
}
stage("Shelve") {
def shelveMsg = p4.run("shelve", "-c${changelistId}", ")
echo(shelveMsg.toString())
}
} catch (ex) {
echo(ex.getMessage())
} finally {
p4.run("revert", "-w", ")
}
}
Does your file include a UTF8 BOM? Java may write the BOM, there might be a config option in p4java to change behaviour.