mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8139607: -release option forces StandardJavaFileManager
Merging a --release specific file manager with the user-provided one, rather than altering the user-provided one. Reviewed-by: jjg, mcimadamore
This commit is contained in:
parent
b97f1bcb37
commit
5f97b69390
15 changed files with 577 additions and 150 deletions
|
@ -37,15 +37,14 @@ import java.util.Objects;
|
|||
|
||||
import javax.tools.JavaFileManager;
|
||||
import javax.tools.JavaFileObject;
|
||||
import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.StandardLocation;
|
||||
|
||||
import com.sun.javadoc.*;
|
||||
import com.sun.tools.javac.file.JavacFileManager;
|
||||
import com.sun.tools.javac.main.CommandLine;
|
||||
import com.sun.tools.javac.main.Option;
|
||||
import com.sun.tools.javac.file.BaseFileManager;
|
||||
import com.sun.tools.javac.main.Arguments;
|
||||
import com.sun.tools.javac.main.CommandLine;
|
||||
import com.sun.tools.javac.main.DelegatingJavaFileManager;
|
||||
import com.sun.tools.javac.main.Option;
|
||||
import com.sun.tools.javac.main.OptionHelper;
|
||||
import com.sun.tools.javac.main.OptionHelper.GrumpyHelper;
|
||||
import com.sun.tools.javac.platform.PlatformDescription;
|
||||
|
@ -398,17 +397,10 @@ public class Start extends ToolOption.Helper {
|
|||
|
||||
context.put(PlatformDescription.class, platformDescription);
|
||||
|
||||
Collection<Path> platformCP = platformDescription.getPlatformPath();
|
||||
|
||||
if (platformCP != null) {
|
||||
if (fileManager instanceof StandardJavaFileManager) {
|
||||
StandardJavaFileManager sfm = (StandardJavaFileManager) fileManager;
|
||||
|
||||
sfm.setLocationFromPaths(StandardLocation.PLATFORM_CLASS_PATH, platformCP);
|
||||
} else {
|
||||
usageError("main.release.not.standard.file.manager", platformString);
|
||||
}
|
||||
}
|
||||
JavaFileManager platformFM = platformDescription.getFileManager();
|
||||
DelegatingJavaFileManager.installReleaseFileManager(context,
|
||||
platformFM,
|
||||
fileManager);
|
||||
}
|
||||
|
||||
compOpts.notifyListeners();
|
||||
|
|
|
@ -124,7 +124,6 @@ main.illegal_class_name=Illegal class name: "{0}"
|
|||
main.illegal_package_name=Illegal package name: "{0}"
|
||||
main.release.bootclasspath.conflict=option {0} cannot be used together with -release
|
||||
main.unsupported.release.version=release version {0} not supported
|
||||
main.release.not.standard.file.manager=-release option specified, but the provided JavaFileManager is not a StandardJavaFileManager.
|
||||
main.option.invalid.value={0}
|
||||
tag.illegal_char_in_arr_dim=Tag {0}: Syntax Error in array dimension, method parameters: {1}
|
||||
tag.illegal_see_tag=Tag {0}: Syntax Error in method parameters: {1}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue