I’m doing a get on a site with https. If I use curl in Apache Ant’s exec task it fails complaining that “https not supported or disabled in libcurl”; however if I make the same call from Ant via the shell using sh -c, it works.
Here is my Ant target:
<target name="list-milestones">
<echo>Via SH</echo>
<exec executable="sh" dir="." failonerror="true">
<arg value='-c' />
<arg value='/bin/env' />
</exec>
<exec executable="sh" dir="." failonerror="true">
<arg value='-c' />
<arg value='/usr/bin/curl --config ${user.home}/.curlrc -k -X GET -H "Accept: application/xml" "https://www.assembla.com/spaces/milestones/all/tibant" -o "build/milestones.xml"' />
</exec>
<echo>Direct</echo>
<exec executable="/bin/env" dir="." failonerror="true">
</exec>
<exec executable="/usr/bin/curl" dir="." failonerror="true">
<arg value='--config' />
<arg value='${user.home}/.curlrc' />
<arg value='-k' />
<arg value='-X' />
<arg value='GET' />
<arg value='-H' />
<arg value='"Accept: application/xml"' />
<arg value='"https://www.assembla.com/spaces/milestones/all/tibant"' />
<arg value='-o' />
<arg value='"build/milestones.xml"' />
</exec>
</target>
and here is the output:
-sh-4.2$ ant list-milestones
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=lcd
Buildfile: /usr/share/jenkins/jobs/TIBant-07-Upload/workspace/build.xml
[TIBant-Build] LOADING: /usr/share/jetty/TIBant-Build.properties
[TIBant-Build] LOADING: /usr/share/jetty/build.properties
[TIBant-Build] LOADING: config/ci.properties
[TIBant-Build] LOADING: config/default.properties
[TIBant] IMPORTED: tibant.xml
[TIBant] TIBant Home: /usr/share/jenkins/jobs/TIBant-07-Upload/workspace/src/ant
list-milestones:
[echo] Via SH
[exec] HOSTNAME=ve.mbqblqmj.vesrv.com
[exec] ANT_BIN=/usr/lib/apache-ant-1.8.2/bin
[exec] SHELL=/bin/sh
[exec] TERM=xterm-256color
[exec] HISTSIZE=1000
[exec] TIBCO_HOME=/opt/tibco
[exec] ANT_HOME=/usr/lib/apache-ant-1.8.2
[exec] ANT_OPTS=-Xmx128m -Djava.awt.headless=true
[exec] JAVA_OPTS=-Xmx128m -Djava.awt.headless=true
[exec] USER=jetty
[exec] LD_LIBRARY_PATH=/usr/lib/jvm/jdk1.6.0_27/jre/lib/amd64/server:/usr/lib/jvm/jdk1.6.0_27/jre/lib/amd64:/usr/lib/jvm/jdk1.6.0_27/jre/../lib/amd64
[exec] JETTY_PORT=8080
[exec] JAVA_BIN=/usr/lib/jvm/jdk1.6.0_27/bin
[exec] LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lz=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.bz=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
[exec] JETTY_USER=jenkins
[exec] _JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=lcd
[exec] NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
[exec] JENKINS_HOME=/usr/share/jenkins
[exec] DESIGNER_BIN=/opt/tibco/designer/5.7/bin
[exec] MAIL=/var/spool/mail/jetty
[exec] PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/var/cfengine/bin
[exec] PWD=/usr/share/jenkins/jobs/TIBant-07-Upload/workspace
[exec] JAVA_HOME=/usr/lib/jvm/jdk1.6.0_27
[exec] LANG=en_US.UTF-8
[exec] XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
[exec] HISTCONTROL=ignoredups
[exec] SHLVL=2
[exec] HOME=/usr/share/jetty
[exec] LOGNAME=jetty
[exec] LESSOPEN=||/usr/bin/lesspipe.sh %s
[exec] DISPLAY=:0.0
[exec] G_BROKEN_FILENAMES=1
[exec] _=/bin/env
[exec] % Total % Received % Xferd Average Speed Time Time Time Current
[exec] Dload Upload Total Spent Left Speed
[exec]
[exec] 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
[exec] 100 22852 0 22852 0 0 33357 0 --:--:-- --:--:-- --:--:-- 34835
[echo] Direct
[exec] HOSTNAME=ve.mbqblqmj.vesrv.com
[exec] ANT_BIN=/usr/lib/apache-ant-1.8.2/bin
[exec] TERM=xterm-256color
[exec] SHELL=/bin/sh
[exec] HISTSIZE=1000
[exec] ANT_HOME=/usr/lib/apache-ant-1.8.2
[exec] TIBCO_HOME=/opt/tibco
[exec] ANT_OPTS=-Xmx128m -Djava.awt.headless=true
[exec] USER=jetty
[exec] JAVA_OPTS=-Xmx128m -Djava.awt.headless=true
[exec] LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lz=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.bz=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
[exec] JAVA_BIN=/usr/lib/jvm/jdk1.6.0_27/bin
[exec] JETTY_PORT=8080
[exec] JETTY_USER=jenkins
[exec] _JAVA_OPTIONS=-Dawt.useSystemAAFontSettings=lcd
[exec] JENKINS_HOME=/usr/share/jenkins
[exec] PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/var/cfengine/bin
[exec] MAIL=/var/spool/mail/jetty
[exec] DESIGNER_BIN=/opt/tibco/designer/5.7/bin
[exec] PWD=/usr/share/jenkins/jobs/TIBant-07-Upload/workspace
[exec] JAVA_HOME=/usr/lib/jvm/jdk1.6.0_27
[exec] LANG=en_US.UTF-8
[exec] HISTCONTROL=ignoredups
[exec] HOME=/usr/share/jetty
[exec] SHLVL=1
[exec] LOGNAME=jetty
[exec] LESSOPEN=||/usr/bin/lesspipe.sh %s
[exec] DISPLAY=:0.0
[exec] G_BROKEN_FILENAMES=1
[exec] LD_LIBRARY_PATH=/usr/lib/jvm/jdk1.6.0_27/jre/lib/amd64/server:/usr/lib/jvm/jdk1.6.0_27/jre/lib/amd64:/usr/lib/jvm/jdk1.6.0_27/jre/../lib/amd64
[exec] NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
[exec] XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
[exec]
[exec] curl: (1) Protocol "https not supported or disabled in libcurl
BUILD FAILED
/usr/share/jenkins/jobs/TIBant-07-Upload/workspace/build.xml:509: exec returned: 1
I sorted and compared the environments and I couldn’t find any significant differences.
This has got me stumped. Help!
You don’t need the extra double quotes
"in theargvalues. The following works for me. The quotes are treated as literals, and passed through to curl – so it thinks the protocol you’re attempting to use is"httpsrather thanhttpsas you intend.The
Accept...,https:..., andbuild/milesones.xmlare the changed arg values.