langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Start.java
changeset 31936 02f1cfc234a0
parent 29780 8f8e54a1fa20
child 35426 374342e56a56
equal deleted inserted replaced
31842:f55df5cfe11c 31936:02f1cfc234a0
    27 
    27 
    28 import java.io.File;
    28 import java.io.File;
    29 import java.io.FileNotFoundException;
    29 import java.io.FileNotFoundException;
    30 import java.io.IOException;
    30 import java.io.IOException;
    31 import java.io.PrintWriter;
    31 import java.io.PrintWriter;
       
    32 import java.nio.file.Path;
    32 import java.util.ArrayList;
    33 import java.util.ArrayList;
    33 import java.util.Collection;
    34 import java.util.Collection;
    34 import java.util.Collections;
    35 import java.util.Collections;
    35 import java.util.Map;
       
    36 import java.util.Objects;
    36 import java.util.Objects;
    37 
    37 
    38 import javax.tools.JavaFileManager;
    38 import javax.tools.JavaFileManager;
    39 import javax.tools.JavaFileObject;
    39 import javax.tools.JavaFileObject;
       
    40 import javax.tools.StandardJavaFileManager;
       
    41 import javax.tools.StandardLocation;
    40 
    42 
    41 import com.sun.javadoc.*;
    43 import com.sun.javadoc.*;
    42 import com.sun.tools.javac.file.JavacFileManager;
    44 import com.sun.tools.javac.file.JavacFileManager;
    43 import com.sun.tools.javac.main.CommandLine;
    45 import com.sun.tools.javac.main.CommandLine;
    44 import com.sun.tools.javac.main.Option;
    46 import com.sun.tools.javac.main.Option;
    45 import com.sun.tools.javac.file.BaseFileManager;
    47 import com.sun.tools.javac.file.BaseFileManager;
       
    48 import com.sun.tools.javac.platform.PlatformDescription;
       
    49 import com.sun.tools.javac.platform.PlatformUtils;
    46 import com.sun.tools.javac.util.ClientCodeException;
    50 import com.sun.tools.javac.util.ClientCodeException;
    47 import com.sun.tools.javac.util.Context;
    51 import com.sun.tools.javac.util.Context;
    48 import com.sun.tools.javac.util.List;
    52 import com.sun.tools.javac.util.List;
    49 import com.sun.tools.javac.util.ListBuffer;
    53 import com.sun.tools.javac.util.ListBuffer;
    50 import com.sun.tools.javac.util.Log;
    54 import com.sun.tools.javac.util.Log;
   350         }
   354         }
   351         if (fileManager instanceof BaseFileManager) {
   355         if (fileManager instanceof BaseFileManager) {
   352             ((BaseFileManager) fileManager).handleOptions(fileManagerOpts);
   356             ((BaseFileManager) fileManager).handleOptions(fileManagerOpts);
   353         }
   357         }
   354 
   358 
       
   359         String platformString = compOpts.get("-release");
       
   360 
       
   361         if (platformString != null) {
       
   362             if (compOpts.isSet("-source")) {
       
   363                 usageError("main.release.bootclasspath.conflict", "-source");
       
   364             }
       
   365             if (fileManagerOpts.containsKey(Option.BOOTCLASSPATH)) {
       
   366                 usageError("main.release.bootclasspath.conflict", Option.BOOTCLASSPATH.getText());
       
   367             }
       
   368 
       
   369             PlatformDescription platformDescription =
       
   370                     PlatformUtils.lookupPlatformDescription(platformString);
       
   371 
       
   372             if (platformDescription == null) {
       
   373                 usageError("main.unsupported.release.version", platformString);
       
   374             }
       
   375 
       
   376             compOpts.put(Option.SOURCE, platformDescription.getSourceVersion());
       
   377 
       
   378             context.put(PlatformDescription.class, platformDescription);
       
   379 
       
   380             Collection<Path> platformCP = platformDescription.getPlatformPath();
       
   381 
       
   382             if (platformCP != null) {
       
   383                 if (fileManager instanceof StandardJavaFileManager) {
       
   384                     StandardJavaFileManager sfm = (StandardJavaFileManager) fileManager;
       
   385 
       
   386                     sfm.setLocationFromPaths(StandardLocation.PLATFORM_CLASS_PATH, platformCP);
       
   387                 } else {
       
   388                     usageError("main.release.not.standard.file.manager", platformString);
       
   389                 }
       
   390             }
       
   391         }
       
   392 
   355         compOpts.notifyListeners();
   393         compOpts.notifyListeners();
   356 
   394 
   357         if (javaNames.isEmpty() && subPackages.isEmpty() && isEmpty(fileObjects)) {
   395         if (javaNames.isEmpty() && subPackages.isEmpty() && isEmpty(fileObjects)) {
   358             usageError("main.No_packages_or_classes_specified");
   396             usageError("main.No_packages_or_classes_specified");
   359         }
   397         }