RFR: 8231179: Investigate why tools/javac/options/BCPOrSystemNotSpecified.java fails on Window [v2]
Guoxiong Li
github.com+13688759+lgxbslgx at openjdk.java.net
Fri Jan 15 12:54:24 UTC 2021
> Hi all,
>
> The statement `String sourcePath = file.getName();` in method `prepareBCP(Path target)` would use `DirectoryFileObject::getName` which is shown below.
>
> @Override @DefinedBy(Api.COMPILER)
> public String getName() {
> return relativePath.resolveAgainst(userPackageRootDir).toString(); // <-----------------
> }
>
> And the `DirectoryFileObject::getName` would use `RelativePath::resolveAgainst` which is shown below
>
> public Path resolveAgainst(Path directory) throws /*unchecked*/ InvalidPathException {
> String sep = directory.getFileSystem().getSeparator(); // <---------------------
> return directory.resolve(path.replace("/", sep));
> }
>
> We can see that `RelativePath::resolveAgainst` use file system separator instead of operating system separator. In method `prepareBCP`, the file system should be JRT file system, but we don't need to know actually which file system to be used. We only need to use the same file system separator so that the test can run as expected.
>
> This patch fixes the test by using the file system separator instead of operating system separator.
>
> Thank you for taking the time to review.
>
> Best Regards.
Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision:
Use StandardJavaFileManager::asPath
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/2004/files
- new: https://git.openjdk.java.net/jdk/pull/2004/files/d375cc03..aee1c4a9
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2004&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2004&range=00-01
Stats: 3 lines in 1 file changed: 1 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/2004.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2004/head:pull/2004
PR: https://git.openjdk.java.net/jdk/pull/2004
More information about the compiler-dev
mailing list