Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0-alpha-1
-
None
-
Win XP, Ant 1.6.5, Java 5.
Description
I'm working at a site that connects to the net using a proxy server that requires authentication.
Our ant script uses the setproxy task to set the proxy details. Calling the ivy:retrieve task after setproxy results in the error:
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] Your proxy requires authentication.
[ivy:retrieve] Your proxy requires authentication.
[ivy:retrieve] module not found: [ commons-lang | commons-lang | 2.1 ]
However, there is a workaround. Calling the get task before ivy:retrieve fixes the problem.
It appears that get must be doing something with the proxy details that ivy:retrieve is not. Please can ivy:retrieve be updated to perform the authentication magic that get is doing?
I have managed to reproduce this with the hello ivy example. The failing Ant Script contains:
<target name="proxy">
<property name="proxy.host" value="proxy.myorg.com"/>
<property name="proxy.port" value="8080"/>
<input message="Please enter proxy username" addproperty="proxy.user" />
<input message="Please enter proxy password - NOTE: CLEAR TEXT" addproperty="proxy.pass"/>
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>
</target>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" depends="proxy" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
which produces the output
resolve:
[ivy:retrieve] :: Ivy 2.0.0-alpha-1-incubating - 20070416155158 ::
http://incubator.apache.org/ivy/ ::
[ivy:retrieve] no settings file found, using default...
[ivy:retrieve] :: loading settings :: url = jar:file:/C:/Program%20Files/Ant/lib/ivy-2.0.0-alpha-1-incubating.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: [ apache | hello-ivy | working@hpac-keay47z ]
[ivy:retrieve] confs: [default]
[ivy:retrieve] :: resolution report ::
---------------------------------------------------------------------
modules | artifacts | |||||
---|---|---|---|---|---|---|
conf | number | search | dwnlded | evicted | number | dwnlded |
---------------------------------------------------------------------
default | 1 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|
---------------------------------------------------------------------
[ivy:retrieve]
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] Your proxy requires authentication.
[ivy:retrieve] Your proxy requires authentication.
[ivy:retrieve] module not found: [ commons-lang | commons-lang | 2.1 ]
[ivy:retrieve] ==== local: tried
[ivy:retrieve] C:\Documents and Settings\charmann\.ivy/local/commons-lang/commons-lang/2.1/ivys/ivy.xml
[ivy:retrieve] – artifact [ commons-lang | commons-lang | 2.1 ]/commons-lang.jar[jar]:
[ivy:retrieve] C:\Documents and Settings\charmann\.ivy/local/commons-lang/commons-lang/2.1/jars/commons-lang.jar
[ivy:retrieve] ==== shared: tried [ivy:retrieve] C:\Documents and Settings\charmann\.ivy/shared/commons-lang/commons-lang/2.1/ivys/ivy.xml
[ivy:retrieve] – artifact [ commons-lang | commons-lang | 2.1 ]/commons-lang.jar[jar]:
[ivy:retrieve] C:\Documents and Settings\charmann\.ivy/shared/commons-lang/commons-lang/2.1/jars/commons-lang.jar
[ivy:retrieve] ==== public: tried[ivy:retrieve] http://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
[ivy:retrieve] – artifact [ commons-lang | commons-lang | 2.1 ]/commons-lang.jar[jar]:
[ivy:retrieve] http://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: [ commons-lang | commons-lang | 2.1 ]: not found
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]
[ivy:retrieve]
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
BUILD FAILED
Changing the ant script to include a get task fixes the problem:
<target name="proxy">
<property name="proxy.host" value="proxy.myorg.com"/>
<property name="proxy.port" value="8080"/>
<input message="Please enter proxy username" addproperty="proxy.user" />
<input message="Please enter proxy password - NOTE: CLEAR TEXT" addproperty="proxy.pass"/>
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>
<get src="http://www.google.co.nz" dest="temp.html" usetimestamp="true"/>
</target>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" depends="proxy" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
with the following output:
resolve:
[ivy:retrieve] :: Ivy 2.0.0-alpha-1-incubating - 20070416155158 :: http://incubator.apache.org/ivy/ ::
[ivy:retrieve] no settings file found, using default...
[ivy:retrieve] :: loading settings :: url = jar:file:/C:/Program%20Files/Ant/lib/ivy-2.0.0-alpha-1-incubating.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: [ apache | hello-ivy | working@h097-kea ]
[ivy:retrieve] confs: [default]
[ivy:retrieve] found [ commons-lang | commons-lang | 2.1 ] in public
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar ...
[ivy:retrieve] ..................
[ivy:retrieve] .................................... (202kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] [ commons-lang | commons-lang | 2.1 ]/commons-lang.jar[jar] (6923ms)
[ivy:retrieve] :: resolution report ::
---------------------------------------------------------------------
modules | artifacts | |||||
---|---|---|---|---|---|---|
conf | number | search | dwnlded | evicted | number | dwnlded |
---------------------------------------------------------------------
default | 1 | 1 | 0 | 0 | 1 | 1 |
---|
---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: [ apache | hello-ivy ]
[ivy:retrieve] confs: [default]
[ivy:retrieve] 1 artifacts copied, 0 already retrieved
run:
[java] standard message : hello ivy !
[java] capitalized by org.apache.commons.lang.WordUtils : Hello Ivy !
BUILD SUCCESSFUL