ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adrian Sandor (JIRA)" <j...@apache.org>
Subject [jira] Created: (IVY-957) Cache configuration problem
Date Sat, 25 Oct 2008 18:20:44 GMT
Cache configuration problem
---------------------------

                 Key: IVY-957
                 URL: https://issues.apache.org/jira/browse/IVY-957
             Project: Ivy
          Issue Type: Bug
    Affects Versions: 2.0-RC1, trunk
            Reporter: Adrian Sandor


I have this ivysettings file:

<ivysettings>
	<settings defaultResolver="private-shared"/>
	<property name="shared-path" value="/usr/local/private/ivy/shared"/>
	<property name="ivy.default.always.check.exact.revision" value="false"/>
	<resolvers>
		<sftp name="private-shared" host="server" port="22" user="ivy" userPassword="private"
checkmodified="true">
			<ivy pattern="${shared-path}/[organisation]/[module]/[revision]/[artifact].[ext]" />
			<artifact pattern="${shared-path}/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]"
/>
			<artifact pattern="${shared-path}/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision]-[type]s.[ext]"
/>
		</sftp>
		<ibiblio name="public" m2compatible="true"/>
	</resolvers>
	<caches resolutionCacheDir="${ivy.settings.dir}/cache/resolution"
		repositoryCacheDir="${ivy.settings.dir}/cache/repository"/>
</ivysettings>

And I'm calling ivy:resolve from an ant build script (with -v). I get these messages (among
others):

no default cache defined: set to /home/aditsu/.ivy2/cache
        default cache: /home/aditsu/.ivy2/cache

So it downloads the files to that location instead of the one I specified.
If I delete the .ivy2 directory and create a file instead, retrieve fails. 

I debugged it and found that it sets the correct location first:
[ivy:resolve] at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.setBasedir(DefaultRepositoryCacheManager.java:163)
[ivy:resolve] at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.<init>(DefaultRepositoryCacheManager.java:109)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.getDefaultRepositoryCacheManager(IvySettings.java:1205)
[ivy:resolve] at org.apache.ivy.plugins.resolver.AbstractResolver.initRepositoryCacheManagerFromSettings(AbstractResolver.java:374)
[ivy:resolve] at org.apache.ivy.plugins.resolver.AbstractResolver.validate(AbstractResolver.java:408)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.validateAll(IvySettings.java:1447)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.validate(IvySettings.java:1424)
[ivy:resolve] at org.apache.ivy.core.settings.XmlSettingsParser.doParse(XmlSettingsParser.java:160)
[ivy:resolve] at org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:149)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:377)
[ivy:resolve] at org.apache.ivy.Ivy.configure(Ivy.java:411)

Then it overwrites it with the wrong one:
[ivy:resolve] at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.setBasedir(DefaultRepositoryCacheManager.java:163)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.setDefaultCache(IvySettings.java:712)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.getDefaultCache(IvySettings.java:792)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.dumpSettings(IvySettings.java:505)
[ivy:resolve] at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:386)
[ivy:resolve] at org.apache.ivy.Ivy.configure(Ivy.java:411)

I also found a workaround: I added defaultCacheDir="/dev/null" to the caches tag and it works
now.
This doesn't agree with the documentation: "we recommend setting both the resolutionCacheDir
and repositoryCacheDir attributes on this tag *instead of* using defaultCacheDir"


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message