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.
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.