@@ -39,11 +39,11 @@ function Write-PipelineTaskError {
3939 return
4040 fi
4141
42- message_type=" error"
43- sourcepath=' '
44- linenumber=' '
45- columnnumber=' '
46- error_code=' '
42+ local message_type=" error"
43+ local sourcepath=' '
44+ local linenumber=' '
45+ local columnnumber=' '
46+ local error_code=' '
4747
4848 while [[ $# -gt 0 ]]; do
4949 opt=" $( echo " ${1/# --/ -} " | awk ' {print tolower($0)}' ) "
@@ -76,7 +76,7 @@ function Write-PipelineTaskError {
7676 shift
7777 done
7878
79- message=" ##vso[task.logissue"
79+ local message=" ##vso[task.logissue"
8080
8181 message=" $message type=$message_type "
8282
@@ -100,3 +100,73 @@ function Write-PipelineTaskError {
100100 echo " $message "
101101}
102102
103+ function Write-PipelineSetVariable {
104+ if [[ " $ci " != true ]]; then
105+ return
106+ fi
107+
108+ local name=' '
109+ local value=' '
110+ local secret=false
111+ local as_output=false
112+ local is_multi_job_variable=true
113+
114+ while [[ $# -gt 0 ]]; do
115+ opt=" $( echo " ${1/# --/ -} " | awk ' {print tolower($0)}' ) "
116+ case " $opt " in
117+ -name|-n)
118+ name=$2
119+ shift
120+ ;;
121+ -value|-v)
122+ value=$2
123+ shift
124+ ;;
125+ -secret|-s)
126+ secret=true
127+ ;;
128+ -as_output|-a)
129+ as_output=true
130+ ;;
131+ -is_multi_job_variable|-i)
132+ is_multi_job_variable=$2
133+ shift
134+ ;;
135+ esac
136+ shift
137+ done
138+
139+ value=${value/ ;/% 3B}
140+ value=${value/ \\ r/% 0D}
141+ value=${value/ \\ n/% 0A}
142+ value=${value/ ]/% 5D}
143+
144+ local message=" ##vso[task.setvariable variable=$name ;isSecret=$secret ;isOutput=$is_multi_job_variable ]$value "
145+
146+ if [[ " $as_output " == true ]]; then
147+ $message
148+ else
149+ echo " $message "
150+ fi
151+ }
152+
153+ function Write-PipelinePrependPath {
154+ local prepend_path=' '
155+
156+ while [[ $# -gt 0 ]]; do
157+ opt=" $( echo " ${1/# --/ -} " | awk ' {print tolower($0)}' ) "
158+ case " $opt " in
159+ -path|-p)
160+ prepend_path=$2
161+ shift
162+ ;;
163+ esac
164+ shift
165+ done
166+
167+ export PATH=" $prepend_path :$PATH "
168+
169+ if [[ " $ci " == true ]]; then
170+ echo " ##vso[task.prependpath]$prepend_path "
171+ fi
172+ }
0 commit comments