ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: problem resolving/retrieving using a chain resolver
Date Wed, 29 Aug 2007 06:45:18 GMT
On 8/28/07, bhatia <Bhatia@ofac.ch> wrote:
>
>
> Hello,
>
> When I use my ant target "retrieve-compile", no problems and its able to
> fetch the ad-CURRENT artifacts from the local resolver.
>
> But when I do a resolve from IvyDE container, it cant resolve. my ant
> target
> and IvyDE have the same ivyconf so I dont know why something would work
> from
> the ant target but not from the IvyDE container.


This is strange. Which versions of both are you using? What is the message
you get from IvyDE? What do you see on the IvyConsole in eclipse?

Xavier

thanks
>
>
> **************************************************************************3
>         <target name="retrieve-compile" depends="init" description="->
> retrieve
> compile-time dependencies of this project">
>                 <fail>
>                         Il n'y a pas de fichier ivy.xml dans ce projet
>                         <condition>
>                                 <not>
>                                         <available
> file="${basedir}/ivy.xml" type="file" />
>                                 </not>
>                         </condition>
>                 </fail>
>                 <mkdir dir="${compile.conf.dir}" />
>                 <ivy:retrieve pattern="${compile.conf.dir
> }/[artifact](-[revision]).[ext]"
> type="jar,war" conf="compile"/>
>         </target>
>
> ********************************************************************
>
> <ivyconf>
>
>         <conf defaultResolver="chainresolver" />
>         <!-- this is the shared repository using ivy configurations -->
>         <property name="cellier" value="I:/shared" />
>         <!-- do not generated checksums -->
>         <property name="ivy.checksums" value="" />
>         <!-- define property for local ivy repository -->
>         <!--<property name="ivy.default.ivy.user.dir"
> value="c:/myrep"/>-->
>
>   <!-- define properties for the local developer repository -->
>   <!-- artifacts found here will be taken first even if a more recent
> version is found in the cellar -->
>   <!-- this is necessary to resolve delta artifacts in the local
> filesystem
> -->
>         <property name="ivy.local.default.root"
> value="${ivy.default.ivy.user.dir}/local" override="false"/>
>   <property name="ivy.local.default.ivy.pattern"
> value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> override="false"/>
>   <property name="ivy.local.default.artifact.pattern"
>
> value="[organisation]/[module]/[revision]/[type]s/[artifact](-[revision]).[ext]"
> override="false"/>
>
>         <resolvers checksums="false">
>          <chain name="chainresolver" returnFirst="true">
>           <!-- resolver for local artifacts in local filesystem -->
>                 <filesystem name="local">
>       <ivy
> pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
>       <artifact
> pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}"
> />
>     </filesystem>
>           <!-- resolver for OFAC internal artifacts in the cellar -->
>                 <filesystem name="internal">
>                         <ivy
>
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> />
>                         <artifact
>
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact](-[revision]).[ext]"
> />
>                 </filesystem>
>                 <!-- resolver for external third party artifacts in the
> cellar -->
>                 <filesystem name="thirdparty">
>                         <ivy
>
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> />
>                         <artifact
>
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> />
>                 </filesystem>
>     </chain>
>         </resolvers>
>
>   <!-- module resolver mappings -->
>         <modules>
>                 <module organisation="ofac"
> name="*"    resolver="chainresolver" />
>                 <module organisation="apache"
> name="*"  resolver="thirdparty" />
>                 <module organisation="dbunit"
> name="*"  resolver="thirdparty" />
>                 <module organisation="easymock"
> name="*"        resolver="thirdparty" />
>                 <module organisation="eclipse" name="*"
> resolver="thirdparty" />
>                 <module organisation="electric"
> name="*"        resolver="thirdparty" />
>                 <module organisation="exolab"
> name="*"  resolver="thirdparty" />
>                 <module organisation="gnu" name="*"
> resolver="thirdparty" />
>                 <module organisation="ibm" name="*"
> resolver="thirdparty" />
>                 <module organisation="jayasoft"
> name="*"        resolver="thirdparty" />
>                 <module organisation="jcraft"
> name="*"  resolver="thirdparty" />
>                 <module organisation="jpedal"
> name="*"  resolver="thirdparty" />
>                 <module organisation="jrefinery" name="*"
> resolver="thirdparty" />
>                 <module organisation="junit" name="*"
> resolver="thirdparty" />
>                 <module organisation="lowagie" name="*"
> resolver="thirdparty" />
>                 <module organisation="meterware" name="*"
> resolver="thirdparty" />
>                 <module organisation="mirrorworlds"
> name="*"    resolver="thirdparty" />
>                 <module organisation="mousepushers"
> name="*"    resolver="thirdparty" />
>                 <module organisation="mozilla" name="*"
> resolver="thirdparty" />
>                 <module organisation="omg" name="*"
> resolver="thirdparty" />
>                 <module organisation="opensymphony"
> name="*"    resolver="thirdparty" />
>                 <module organisation="oroinc"
> name="*"  resolver="thirdparty" />
>                 <module organisation="sourceforge" name="*"
> resolver="thirdparty" />
>                 <module organisation="sqlj"
> name="*"    resolver="thirdparty" />
>                 <module organisation="sun" name="*"
> resolver="thirdparty" />
>                 <module organisation="tyrex" name="*"
> resolver="thirdparty" />
>                 <module organisation="w3c" name="*"
> resolver="thirdparty" />
>                 <module organisation="sqlj"
> name="*"    resolver="thirdparty" />
>                 <module organisation="wutka" name="*"
> resolver="thirdparty" />
>                 <module organisation="xmlparser" name="*"
> resolver="thirdparty" />
>         </modules>
>
>          <!-- points to my local livraisons -->
>          <classpath     file="C:/ivylivraison/24082007/OFACDependencies-
> CURRENT.jar" />
>          <!-- points to server repository used by all OFAC
>          <classpath
> file="I:/shared/ivyconf/ivylivraison/23082007/OFACDependencies-CURRENT.jar
> "
> />
>          -->
>
>         <!-- strategie qui considere que CURRENT est plus recent que HEAD
> qui est
> plus recent que prod etc...
>                 OfacLatestStrategyTest donne une bonne idee de son
> comportement. -->
>         <typedef name="ofac-latest-strategy"
>                 classname="ch.ofac.ivy.latest.OfacLatestStrategy" />
>         <latest-strategies>
>                 <ofac-latest-strategy name="ofac-latest" />
>         </latest-strategies>
>
>         <!-- Conflict manager qui utilise la strategie definie plus haut
> -->
>         <conflict-managers>
>                 <latest-cm name="ofac-cm" latest="ofac-latest" />
>                 <latest-revision name="latest-revision" />
>         </conflict-managers>
>
> </ivyconf>
> ***************************************************************
>
>
>
> bhatia wrote:
> >
> > Hello,
> >
> > Problem scenario:
> >
> > Step 1) Project "nr" has a dependency on Project "ad".
> >
> > Step 2) I check out my working copy of both project "nr" and project
> "ad"
> > in Eclipse workspace.
> >
> > Step 3) I make my changes to project "ad" in my workspace and publish it
> > using a local resolver into my local filesystem using a "local" resolver
> > like this:
> >
> > In ivy.xml of project "ad", I declare revision="CURRENT" like this:
> >
> > <info organisation="ofac" module="ad" revision="CURRENT"/>
> >
> > In my common.xml, I publish to the local repository like this:
> >
> > <target name="publish-war-en-locale" depends="make-war-en-locale"
> > description="-> publish this project's war and its sources in the local
> > user repository">
> >               <ivy:publish resolver="local"
> > artifactspattern="[type]/[artifact](-[revision]).[ext]"
> > pubrevision="${revision}"/>
> >       </target>
> >
> > After publishing of "ad" is successful in my "local" repository, I get
> the
> > following:
> >
> > publish-war-en-locale:
> > [ivy:publish] :: delivering :: [ ofac | ad | CURRENT ] :: CURRENT ::
> > integration :: Tue Aug 28 13:15:17 CEST 2007
> > [ivy:publish] delivering ivy file to ivy/ivy-CURRENT.xml
> > [ivy:publish] :: publishing :: [ ofac | ad ]
> > [ivy:publish] published ad to
> > c:\myrep/local/ofac/ad/CURRENT/sources/ad-CURRENT.src.jar
> > [ivy:publish] published ad to
> > c:\myrep/local/ofac/ad/CURRENT/wars/ad-CURRENT.war
> > [ivy:publish] published ivy to
> c:\myrep/local/ofac/ad/CURRENT/ivys/ivy.xml
> > BUILD SUCCESSFUL
> >
> > step 4) Resolve/retrieve project "ad" which I recently published to my
> > "local" repository (revision="CURRENT") from project "nr" like this:
> >
> > project "nr" ivy.xml:
> >
> > <ivy-module version="1.0">
> >  <info organisation="ofac" module="nr" revision="prod"/>
> > <configurations>
> >       <conf name="compile" description="compile-time deps only"
> > transitive="true" visibility="public"/>
> >       <conf name="run" description="run-time deps only, also used for
> creating
> > and publishing an artifact" transitive="false" visibility="public"/>
> > </configurations>
> > <publications>
> >       <artifact name="nr" type="war"/>
> >       <artifact name="nr" type="source" ext="src.jar"/>
> > </publications>
> >  <dependencies>
> >     <dependency org="ofac" name="ad" rev="CURRENT" conf="compile">
> >         <artifact name="ad" type="war"/>
> >     </dependency>
> >  </dependencies>
> >  <conflicts>
> >     <manager name="ofac-cm" org="ofac"/>
> >     <manager name="latest-revision" org="(?!ofac).*"/>
> >  </conflicts>
> > </ivy-module>
> >
> > In common.xml, when I launch "retrieve-compile" like this:
> >
> > <target name="retrieve-compile" depends="init" description="-> retrieve
> > compile-time dependencies in the lib folder of this project, if it
> doesnt
> > exist, create it">
> >               <fail>
> >                       Il n'y a pas de fichier ivy.xml dans ce projet
> >                       <condition>
> >                               <not>
> >                                       <available
> file="${basedir}/ivy.xml" type="file" />
> >                               </not>
> >                       </condition>
> >               </fail>
> >               <mkdir dir="${compile.conf.dir}" />
> >               <ivy:retrieve
> > pattern="${compile.conf.dir}/[artifact](-[revision]).[ext]"
> type="jar,war"
> > conf="compile"/>
> >       </target>
> >
> > I get the following error on the console:
> >
> > [ivy:retrieve] :: evicted modules:
> > [ivy:retrieve] [ ofac | ad | prod ] by [[ ofac | ad | CURRENT ]] in
> > [compile]
> > ---------------------------------------------------------------------
> > |                  |            modules            ||   artifacts   |
> > |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
> > ---------------------------------------------------------------------
> > |      compile     |  159  |   0   |   0   |   1   ||  208  |   0   |
> > ---------------------------------------------------------------------
> >
> > [ivy:retrieve] module not found: [ ofac | ad | CURRENT ]
> > [ivy:retrieve] internal: tried I:/shared/ofac/ad/CURRENT/ivys/ivy.xml
> > [ivy:retrieve] internal: tried artifact [ ofac | ad | CURRENT
> > ]/ad.war[war]:
> > [ivy:retrieve] I:/shared/ofac/ad/CURRENT/wars/ad-CURRENT.war
> >
> > [ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
> > [ivy:retrieve] ::          UNRESOLVED DEPENDENCIES         ::
> > [ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
> > [ivy:retrieve] :: [ ofac | ad | CURRENT ]: not found
> > [ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
> > [ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
> >
> > BUILD FAILED
> > C:\ivylivraison\24082007\common.xml:88: impossible to resolve
> > dependencies: resolve failed - see output for details
> >
> > I have defined a chain like this in my ivyconf.xml:
> >
> > <resolvers checksums="false">
> >        <chain name="chainresolver" returnFirst="true">
> >         <!-- resolver for local artifacts in local filesystem -->
> >               <filesystem name="local">
> >       <ivy
> > pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
> >       <artifact
> > pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern
> }"
> > />
> >     </filesystem>
> >         <!-- resolver for OFAC internal artifacts in the cellar -->
> >               <filesystem name="internal">
> >                       <ivy
> >
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> > />
> >                       <artifact
> >
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact](-[revision]).[ext]"
> > />
> >               </filesystem>
> >               <!-- resolver for external third party artifacts in the
> cellar -->
> >               <filesystem name="thirdparty">
> >                       <ivy
> >
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> > />
> >                       <artifact
> >
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> > />
> >               </filesystem>
> >     </chain>
> >       </resolvers>
> >
> > I am not referencing "chainresolver" specified here in my common.xml in
> > any of the targets. Is this the right way to do it ?
> >
> > I dont know why Ivy doesnt find my ad-CURRENT artifacts in the "local"
> > repository. It seems to be searching in thirdparty and/or shared
> > repository only.
> >
> > Any help would be welcome.
> >
> > thanks
> >
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/problem-resolving-retrieving-using-a-chain-resolver-tf4341279.html#a12368006
> Sent from the ivy-user mailing list archive at Nabble.com.
>
>


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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message