Author: ivanmi
Date: Wed Sep 4 01:21:52 2013
New Revision: 1519894
URL: http://svn.apache.org/r1519894
Log:
HADOOP-9924. Merging change r1519891 from trunk
Modified:
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
Modified:
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1519894&r1=1519893&r2=1519894&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
Wed Sep 4 01:21:52 2013
@@ -174,6 +174,9 @@ Release 2.1.1-beta - UNRELEASED
HADOOP-9774. RawLocalFileSystem.listStatus() return absolute paths when
input path is relative on Windows. (Shanyu Zhao via ivanmi)
+ HADOOP-9924. FileUtil.createJarWithClassPath() does not generate relative
+ classpath correctly. (Shanyu Zhao via ivanmi)
+
Release 2.1.0-beta - 2013-08-22
INCOMPATIBLE CHANGES
Modified:
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java?rev=1519894&r1=1519893&r2=1519894&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
Wed Sep 4 01:21:52 2013
@@ -1252,7 +1252,14 @@ public class FileUtil {
}
} else {
// Append just this entry
- String classPathEntryUrl = new File(classPathEntry).toURI().toURL()
+ File fileCpEntry = null;
+ if(!new Path(classPathEntry).isAbsolute()) {
+ fileCpEntry = new File(workingDir, classPathEntry);
+ }
+ else {
+ fileCpEntry = new File(classPathEntry);
+ }
+ String classPathEntryUrl = fileCpEntry.toURI().toURL()
.toExternalForm();
// File.toURI only appends trailing '/' if it can determine that it is
a
Modified:
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java?rev=1519894&r1=1519893&r2=1519894&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
Wed Sep 4 01:21:52 2013
@@ -782,14 +782,23 @@ public class TestFileUtil {
expectedClassPaths.add(wildcardMatch.toURI().toURL()
.toExternalForm());
}
- } else if (nonExistentSubdir.equals(classPath)) {
- // expect to maintain trailing path separator if present in input,
even
- // if directory doesn't exist yet
- expectedClassPaths.add(new File(classPath).toURI().toURL()
- .toExternalForm() + Path.SEPARATOR);
} else {
- expectedClassPaths.add(new File(classPath).toURI().toURL()
- .toExternalForm());
+ File fileCp = null;
+ if(!new Path(classPath).isAbsolute()) {
+ fileCp = new File(tmp, classPath);
+ }
+ else {
+ fileCp = new File(classPath);
+ }
+ if (nonExistentSubdir.equals(classPath)) {
+ // expect to maintain trailing path separator if present in input,
even
+ // if directory doesn't exist yet
+ expectedClassPaths.add(fileCp.toURI().toURL()
+ .toExternalForm() + Path.SEPARATOR);
+ } else {
+ expectedClassPaths.add(fileCp.toURI().toURL()
+ .toExternalForm());
+ }
}
}
List<String> actualClassPaths = Arrays.asList(classPathAttr.split(" "));