90 строки
2.7 KiB
Groovy
90 строки
2.7 KiB
Groovy
node('content')
|
|
{
|
|
timestamps
|
|
{
|
|
|
|
def Content="";
|
|
env.PATH = "${ProgramFiles}"+"\\Git\\mingw64\\bin;${env.PATH}"
|
|
|
|
timeout(time: 7200000, unit: 'MILLISECONDS') {
|
|
String platform='Xamarin';
|
|
try
|
|
{
|
|
//Clone scm repository in Workspace source directory
|
|
stage ('Checkout')
|
|
{
|
|
dir('Spell-Checker')
|
|
{
|
|
checkout scm
|
|
|
|
def branchCommit = '"' + 'https://gitlab.syncfusion.com/api/v4/projects/' + env.projectId + '/merge_requests/' + env.MergeRequestId + '/changes'
|
|
String branchCommitDetails = bat returnStdout: true, script: 'curl -s --request GET --header PRIVATE-TOKEN:' + env.BuildAutomation_PrivateToken + " " + branchCommit
|
|
|
|
def ChangeFiles= branchCommitDetails.split('\n')[2];
|
|
ChangeFiles = ChangeFiles.split('"new_path":')
|
|
|
|
for (int i= 1; i < ChangeFiles.size();i++)
|
|
{
|
|
def ChangeFile= ChangeFiles[i].split(',')[0].replace('"', '')
|
|
Content += env.WORKSPACE + "\\Spell-Checker\\" + ChangeFile + "\r\n";
|
|
}
|
|
|
|
|
|
if (Content) {
|
|
writeFile file: env.WORKSPACE+"/cireports/content.txt", text: Content
|
|
}
|
|
else {
|
|
writeFile file: env.WORKSPACE+"/cireports/content.txt", text: "There are no filepaths found for this commit."
|
|
}
|
|
}
|
|
}
|
|
|
|
//Checkout the ug_spellchecker from development Source
|
|
checkout([$class: 'GitSCM', branches: [[name: '*/development']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ug_spellchecker']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: env.gitlabCredentialId, url: 'https://gitlab.syncfusion.com/content/ug_spellchecker.git']]])
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
catch(Exception e)
|
|
{
|
|
currentBuild.result = 'FAILURE'
|
|
}
|
|
|
|
if(currentBuild.result != 'FAILURE')
|
|
{
|
|
stage 'Build Source'
|
|
try
|
|
{
|
|
gitlabCommitStatus("Build")
|
|
{
|
|
bat 'powershell.exe -ExecutionPolicy ByPass -File '+env.WORKSPACE+"/ug_spellchecker/build.ps1 -Script "+env.WORKSPACE+"/ug_spellchecker/build.cake -Target build -Platform \""+platform+"\" -Targetbranch "+env.gitlabTargetBranch+" -Branch "+'"'+env.gitlabSourceBranch+'"'
|
|
}
|
|
|
|
def files = findFiles(glob: '**/cireports/errorlogs/*.txt')
|
|
|
|
if(files.size() > 0)
|
|
{
|
|
currentBuild.result = 'FAILURE'
|
|
}
|
|
|
|
}
|
|
catch(Exception e)
|
|
{
|
|
currentBuild.result = 'FAILURE'
|
|
}
|
|
}
|
|
|
|
stage 'Delete Workspace'
|
|
|
|
def files = findFiles(glob: '**/cireports/spellcheck/*.*')
|
|
|
|
if(files.size() > 0)
|
|
{
|
|
archiveArtifacts artifacts: 'cireports/', excludes: null
|
|
}
|
|
step([$class: 'WsCleanup']) }
|
|
}
|
|
}
|