You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Sebastian Wiemer <se...@gfk.com> on 2008/03/13 17:08:16 UTC

Newbie Question: how can i circumvent/solve a conf dependency problem

I've the following problem.

My module defines the following dependency:

<dependency org="org.apache.poi" name="poi" rev="3.0.1-FINAL"/>

No configurations definied in the modules ivy.xml


Besides several other dependencies the resolver finds a dependency to

commons-logging-1.1

and failes with the message:

[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]           ::          UNRESOLVED DEPENDENCIES         ::
[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]           :: commons-logging#commons-logging;1.1: 
configuration(s) not found in commons-logging#commons-logging;1.1: 
optional. It was required from org.apache.poi#poi;3.0.1-FINAL compile
[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::



If i do an <ivy:install/> on commons-logging#commons-logging;1.1

i get the following ivy-1.1.xml

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0">
        <info organisation="commons-logging"
                module="commons-logging"
                revision="1.1"
                status="integration"
                publication="20060513143149"
        />
        <configurations>
                <conf name="default" visibility="public" 
description="runtime dependencies and master artifact can be used with 
this conf" extends="runtime,master"/>
                <conf name="master" visibility="public" 
description="contains only the artifact published by this module itself, 
with no transitive dependencies"/>
                <conf name="compile" visibility="public" description="this 
is the default scope, used if none is specified. Compile dependencies are 
available in all classpaths."/>
                <conf name="provided" visibility="public" 
description="this is much like compile, but indicates you expect the JDK 
or a container to provide it. It is only available on the compilation 
classpath, and is not transitive."/>
                <conf name="runtime" visibility="public" description="this 
scope indicates that the dependency is not required for compilation, but 
is for execution. It is in the runtime and test classpaths, but not the 
compile classpath." extends="compile"/>
                <conf name="test" visibility="private" description="this 
scope indicates that the dependency is not required for normal use of the 
application, and is only available for the test compilation and execution 
phases."/>
                <conf name="system" visibility="public" description="this 
scope is similar to provided except that you have to provide the JAR which 
contains it explicitly. The artifact is always available and is not looked 
up in a repository."/>
        </configurations>
        <publications>
                <artifact name="commons-logging" type="jar" ext="jar" 
conf="master"/>
        </publications>
        <dependencies>
                <dependency org="log4j" name="log4j" rev="1.2.12" 
force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
                <dependency org="logkit" name="logkit" rev="1.0.1" 
force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
                <dependency org="junit" name="junit" rev="3.8.1" 
force="true" conf="test->compile(*),runtime(*),master(*)"/>
                <dependency org="avalon-framework" name="avalon-framework" 
rev="4.1.3" force="true" 
conf="compile->compile(*),master(*);runtime->runtime(*)"/>
                <dependency org="javax.servlet" name="servlet-api" 
rev="2.3" force="true" 
conf="compile->compile(*),master(*);runtime->runtime(*)"/>
        </dependencies>
</ivy-module>


So commons-logging does indeed not provide an 'optional' configuration.



My question is now, how can i get the dependency commons-logging-1.1 for 
org.apache.poi-3.0.1-FINAL ?
What do i have to configure in my modules ivy.xml ?



Mit freundlichen Grüßen / Kind regards
Sebastian Wiemer

------------------------------------
Sebastian Wiemer
GfK Group
Data Services GmbH
Nordwestring 101
D-90319 Nürnberg
Fon: +49 (0) 911 395 3876
Fax: +49 (0) 911 395 3466
sebastian.wiemer@gfk.com
www.gfk.de / www.gfk.com
------------------------------------



GfK Aktiengesellschaft, Nuremberg, Germany, commercial register Nuremberg 
HRB 9398; Management Board: Professor Dr. Klaus L. Wübbenhorst (CEO), 
Christian Weller von Ahlefeld (CFO), Petra Heinlein, Debra A. Pruent, Dr. 
Gérard Hermet, Wilhelm R. Wessels; Chairman of the Supervisory Board: Hajo 
Riesenbeck
This email and any attachments may contain confidential or privileged 
information. Please note that unauthorized copying, disclosure or 
distribution of the material in this email is not permitted.
  

Re: Newbie Question: how can i circumvent/solve a conf dependency problem

Posted by Gilles Scokart <gs...@gmail.com>.
Do you have a cache created with a previous version?


On 17/03/2008, Xavier Hanin <xa...@gmail.com> wrote:
> On Thu, Mar 13, 2008 at 5:08 PM, Sebastian Wiemer
> <se...@gfk.com> wrote:
> > I've the following problem.
> >
> >  My module defines the following dependency:
> >
> >  <dependency org="org.apache.poi" name="poi" rev="3.0.1-FINAL"/>
> >
> >  No configurations definied in the modules ivy.xml
> >
> >
> >  Besides several other dependencies the resolver finds a dependency to
> >
> >  commons-logging-1.1
> >
> >  and failes with the message:
> >
> >  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> >  [ivy:resolve]           ::          UNRESOLVED DEPENDENCIES         ::
> >  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> >  [ivy:resolve]           :: commons-logging#commons-logging;1.1:
> >  configuration(s) not found in commons-logging#commons-logging;1.1:
> >  optional. It was required from org.apache.poi#poi;3.0.1-FINAL compile
> >  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> >
> >
> >
> >  If i do an <ivy:install/> on commons-logging#commons-logging;1.1
> >
> >  i get the following ivy-1.1.xml
> >
> >  <?xml version="1.0" encoding="UTF-8"?>
> >  <ivy-module version="1.0">
> >         <info organisation="commons-logging"
> >                 module="commons-logging"
> >                 revision="1.1"
> >                 status="integration"
> >                 publication="20060513143149"
> >         />
> >         <configurations>
> >                 <conf name="default" visibility="public"
> >  description="runtime dependencies and master artifact can be used with
> >  this conf" extends="runtime,master"/>
> >                 <conf name="master" visibility="public"
> >  description="contains only the artifact published by this module itself,
> >  with no transitive dependencies"/>
> >                 <conf name="compile" visibility="public" description="this
> >  is the default scope, used if none is specified. Compile dependencies are
> >  available in all classpaths."/>
> >                 <conf name="provided" visibility="public"
> >  description="this is much like compile, but indicates you expect the JDK
> >  or a container to provide it. It is only available on the compilation
> >  classpath, and is not transitive."/>
> >                 <conf name="runtime" visibility="public" description="this
> >  scope indicates that the dependency is not required for compilation, but
> >  is for execution. It is in the runtime and test classpaths, but not the
> >  compile classpath." extends="compile"/>
> >                 <conf name="test" visibility="private" description="this
> >  scope indicates that the dependency is not required for normal use of the
> >  application, and is only available for the test compilation and execution
> >  phases."/>
> >                 <conf name="system" visibility="public" description="this
> >  scope is similar to provided except that you have to provide the JAR which
> >  contains it explicitly. The artifact is always available and is not looked
> >  up in a repository."/>
> >         </configurations>
> >         <publications>
> >                 <artifact name="commons-logging" type="jar" ext="jar"
> >  conf="master"/>
> >         </publications>
> >         <dependencies>
> >                 <dependency org="log4j" name="log4j" rev="1.2.12"
> >  force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> >                 <dependency org="logkit" name="logkit" rev="1.0.1"
> >  force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> >                 <dependency org="junit" name="junit" rev="3.8.1"
> >  force="true" conf="test->compile(*),runtime(*),master(*)"/>
> >                 <dependency org="avalon-framework" name="avalon-framework"
> >  rev="4.1.3" force="true"
> >  conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> >                 <dependency org="javax.servlet" name="servlet-api"
> >  rev="2.3" force="true"
> >  conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> >         </dependencies>
> >  </ivy-module>
> >
> >
> >  So commons-logging does indeed not provide an 'optional' configuration.
> >
> >
> >
> >  My question is now, how can i get the dependency commons-logging-1.1 for
> >  org.apache.poi-3.0.1-FINAL ?
> >  What do i have to configure in my modules ivy.xml ?
> Mmm, this is strange... All ivy files converted from poms are supposed
> to publish an 'optional' configuration. Where does your
> commons-logging ivy.xml comes from? Is it converted from a pom by Ivy?
> Which Ivy version?
>
> Xavier
>
>
> >
> >
> >
> >  Mit freundlichen Grüßen / Kind regards
> >  Sebastian Wiemer
> >
> >  ------------------------------------
> >  Sebastian Wiemer
> >  GfK Group
> >  Data Services GmbH
> >  Nordwestring 101
> >  D-90319 Nürnberg
> >  Fon: +49 (0) 911 395 3876
> >  Fax: +49 (0) 911 395 3466
> >  sebastian.wiemer@gfk.com
> >  www.gfk.de / www.gfk.com
> >  ------------------------------------
> >
> >
> >
> >  GfK Aktiengesellschaft, Nuremberg, Germany, commercial register Nuremberg
> >  HRB 9398; Management Board: Professor Dr. Klaus L. Wübbenhorst (CEO),
> >  Christian Weller von Ahlefeld (CFO), Petra Heinlein, Debra A. Pruent, Dr.
> >  Gérard Hermet, Wilhelm R. Wessels; Chairman of the Supervisory Board: Hajo
> >  Riesenbeck
> >  This email and any attachments may contain confidential or privileged
> >  information. Please note that unauthorized copying, disclosure or
> >  distribution of the material in this email is not permitted.
> >
> >
>
>
>
> --
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
>


-- 
Gilles Scokart

Re: Newbie Question: how can i circumvent/solve a conf dependency problem

Posted by Xavier Hanin <xa...@gmail.com>.
On Thu, Mar 13, 2008 at 5:08 PM, Sebastian Wiemer
<se...@gfk.com> wrote:
> I've the following problem.
>
>  My module defines the following dependency:
>
>  <dependency org="org.apache.poi" name="poi" rev="3.0.1-FINAL"/>
>
>  No configurations definied in the modules ivy.xml
>
>
>  Besides several other dependencies the resolver finds a dependency to
>
>  commons-logging-1.1
>
>  and failes with the message:
>
>  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
>  [ivy:resolve]           ::          UNRESOLVED DEPENDENCIES         ::
>  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
>  [ivy:resolve]           :: commons-logging#commons-logging;1.1:
>  configuration(s) not found in commons-logging#commons-logging;1.1:
>  optional. It was required from org.apache.poi#poi;3.0.1-FINAL compile
>  [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
>
>
>
>  If i do an <ivy:install/> on commons-logging#commons-logging;1.1
>
>  i get the following ivy-1.1.xml
>
>  <?xml version="1.0" encoding="UTF-8"?>
>  <ivy-module version="1.0">
>         <info organisation="commons-logging"
>                 module="commons-logging"
>                 revision="1.1"
>                 status="integration"
>                 publication="20060513143149"
>         />
>         <configurations>
>                 <conf name="default" visibility="public"
>  description="runtime dependencies and master artifact can be used with
>  this conf" extends="runtime,master"/>
>                 <conf name="master" visibility="public"
>  description="contains only the artifact published by this module itself,
>  with no transitive dependencies"/>
>                 <conf name="compile" visibility="public" description="this
>  is the default scope, used if none is specified. Compile dependencies are
>  available in all classpaths."/>
>                 <conf name="provided" visibility="public"
>  description="this is much like compile, but indicates you expect the JDK
>  or a container to provide it. It is only available on the compilation
>  classpath, and is not transitive."/>
>                 <conf name="runtime" visibility="public" description="this
>  scope indicates that the dependency is not required for compilation, but
>  is for execution. It is in the runtime and test classpaths, but not the
>  compile classpath." extends="compile"/>
>                 <conf name="test" visibility="private" description="this
>  scope indicates that the dependency is not required for normal use of the
>  application, and is only available for the test compilation and execution
>  phases."/>
>                 <conf name="system" visibility="public" description="this
>  scope is similar to provided except that you have to provide the JAR which
>  contains it explicitly. The artifact is always available and is not looked
>  up in a repository."/>
>         </configurations>
>         <publications>
>                 <artifact name="commons-logging" type="jar" ext="jar"
>  conf="master"/>
>         </publications>
>         <dependencies>
>                 <dependency org="log4j" name="log4j" rev="1.2.12"
>  force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>                 <dependency org="logkit" name="logkit" rev="1.0.1"
>  force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>                 <dependency org="junit" name="junit" rev="3.8.1"
>  force="true" conf="test->compile(*),runtime(*),master(*)"/>
>                 <dependency org="avalon-framework" name="avalon-framework"
>  rev="4.1.3" force="true"
>  conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>                 <dependency org="javax.servlet" name="servlet-api"
>  rev="2.3" force="true"
>  conf="compile->compile(*),master(*);runtime->runtime(*)"/>
>         </dependencies>
>  </ivy-module>
>
>
>  So commons-logging does indeed not provide an 'optional' configuration.
>
>
>
>  My question is now, how can i get the dependency commons-logging-1.1 for
>  org.apache.poi-3.0.1-FINAL ?
>  What do i have to configure in my modules ivy.xml ?
Mmm, this is strange... All ivy files converted from poms are supposed
to publish an 'optional' configuration. Where does your
commons-logging ivy.xml comes from? Is it converted from a pom by Ivy?
Which Ivy version?

Xavier


>
>
>
>  Mit freundlichen Grüßen / Kind regards
>  Sebastian Wiemer
>
>  ------------------------------------
>  Sebastian Wiemer
>  GfK Group
>  Data Services GmbH
>  Nordwestring 101
>  D-90319 Nürnberg
>  Fon: +49 (0) 911 395 3876
>  Fax: +49 (0) 911 395 3466
>  sebastian.wiemer@gfk.com
>  www.gfk.de / www.gfk.com
>  ------------------------------------
>
>
>
>  GfK Aktiengesellschaft, Nuremberg, Germany, commercial register Nuremberg
>  HRB 9398; Management Board: Professor Dr. Klaus L. Wübbenhorst (CEO),
>  Christian Weller von Ahlefeld (CFO), Petra Heinlein, Debra A. Pruent, Dr.
>  Gérard Hermet, Wilhelm R. Wessels; Chairman of the Supervisory Board: Hajo
>  Riesenbeck
>  This email and any attachments may contain confidential or privileged
>  information. Please note that unauthorized copying, disclosure or
>  distribution of the material in this email is not permitted.
>
>



-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/