You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/03/07 21:57:25 UTC
svn commit: r515788 - in /incubator/ivy/core/trunk: CHANGES.txt
src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java
src/java/org/apache/ivy/util/FileUtil.java
test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
Author: xavier
Date: Wed Mar 7 13:57:24 2007
New Revision: 515788
URL: http://svn.apache.org/viewvc?view=rev&rev=515788
Log:
FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
Modified:
incubator/ivy/core/trunk/CHANGES.txt
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=515788&r1=515787&r2=515788
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Wed Mar 7 13:57:24 2007
@@ -16,6 +16,7 @@
- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
+- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java?view=diff&rev=515788&r1=515787&r2=515788
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java Wed Mar 7 13:57:24 2007
@@ -69,6 +69,7 @@
public int retrieve(ModuleRevisionId mrid, String destFilePattern, RetrieveOptions options) throws IOException {
ModuleId moduleId = mrid.getModuleId();
Message.info(":: retrieving :: "+moduleId+(options.isSync()?" [sync]":""));
+ Message.verbose("\tcheckUpToDate="+_settings.isCheckUpToDate());
long start = System.currentTimeMillis();
destFilePattern = IvyPatternHelper.substituteVariables(destFilePattern, _settings.getVariables());
@@ -110,9 +111,9 @@
if (!_settings.isCheckUpToDate() || !upToDate(archive, destFile)) {
Message.verbose("\t\tto "+destFile);
if (options.isMakeSymlinks()) {
- FileUtil.symlink(archive, destFile, null, false);
+ FileUtil.symlink(archive, destFile, null, true);
} else {
- FileUtil.copy(archive, destFile, null);
+ FileUtil.copy(archive, destFile, null, true);
}
targetsCopied++;
} else {
@@ -145,7 +146,7 @@
}
}
}
- Message.info("\t"+targetsCopied+" artifacts copied, "+targetsUpToDate+" already retrieved");
+ Message.info("\t"+targetsCopied+" artifacts copied"+(_settings.isCheckUpToDate()?(", "+targetsUpToDate+" already retrieved"):""));
Message.verbose("\tretrieve done ("+(System.currentTimeMillis()-start)+"ms)");
return targetsCopied;
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java?view=diff&rev=515788&r1=515787&r2=515788
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java Wed Mar 7 13:57:24 2007
@@ -107,6 +107,7 @@
} // if dest is writable, the copy will overwrite it without requiring a delete
} else {
Message.verbose(dest+" already exists, nothing done");
+ return;
}
}
copy(new FileInputStream(src), dest, l);
Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java?view=diff&rev=515788&r1=515787&r2=515788
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Wed Mar 7 13:57:24 2007
@@ -81,6 +81,25 @@
assertTrue(new File(IvyPatternHelper.substitute(pattern, "org1", "mod1.2", "2.0", "mod1.2", "jar", "jar", "default")).exists());
}
+ public void testRetrieveOverwrite() throws Exception {
+ // mod1.1 depends on mod1.2
+ ResolveReport report = _ivy.resolve(new File("test/repositories/1/org1/mod1.1/ivys/ivy-1.0.xml").toURL(),
+ getResolveOptions(new String[] {"*"}));
+ assertNotNull(report);
+ ModuleDescriptor md = report.getModuleDescriptor();
+ assertNotNull(md);
+
+ String pattern = "build/test/retrieve/[module]/[conf]/[artifact]-[revision].[ext]";
+
+ // we create a fake old file to see if it is overwritten
+ File file = new File(IvyPatternHelper.substitute(pattern, "org1", "mod1.2", "2.0", "mod1.2", "jar", "jar", "default"));
+ file.getParentFile().mkdirs();
+ file.createNewFile();
+ file.setLastModified(10000);
+ _ivy.retrieve(md.getModuleRevisionId(), pattern, getRetrieveOptions());
+ assertEquals(new File("test/repositories/1/org1/mod1.2/jars/mod1.2-2.0.jar").lastModified(), file.lastModified());
+ }
+
public void testRetrieveWithSymlinks() throws Exception {
// mod1.1 depends on mod1.2
ResolveReport report = _ivy.resolve(new File("test/repositories/1/org1/mod1.1/ivys/ivy-1.0.xml").toURL(),