Class BuildArgParser

All Implemented Interfaces:
ProblemSeverities, SuffixConstants

public class BuildArgParser extends Main
  • Constructor Details

    • BuildArgParser

      public BuildArgParser(PrintWriter writer, IMessageHandler handler)
      Overrides super's bundle.
    • BuildArgParser

      public BuildArgParser(IMessageHandler handler)
      Set up to capture messages using getOtherMessages(boolean)
  • Method Details

    • getUsage

      public static String getUsage()
      Returns:
      multi-line String usage for the compiler
    • getXOptionUsage

      public static String getXOptionUsage()
    • genBuildConfig

      public AjBuildConfig genBuildConfig(String[] args)
      Generate build configuration for the input args, passing to handler any error messages.
      Parameters:
      args - the String[] arguments for the build configuration
      Returns:
      AjBuildConfig per args, which will be invalid unless there are no handler errors.
    • populateBuildConfig

      public AjBuildConfig populateBuildConfig(AjBuildConfig buildConfig, String[] args, boolean setClasspath, File configFile)
      Generate build configuration for the input arguments, passing to handler any error messages.
      Parameters:
      args - the String[] arguments for the build configuration
      setClasspath - determines if the classpath should be parsed and set on the build configuration
      configFile - can be null
      Returns:
      AjBuildConfig per arguments, which will be invalid unless there are no handler errors.
    • printVersion

      public void printVersion()
      Overrides:
      printVersion in class Main
    • addExtraProblems

      public void addExtraProblems(CategorizedProblem problem)
      Overrides:
      addExtraProblems in class Main
    • initializeAnnotationProcessorManager

      public void initializeAnnotationProcessorManager()
      Overrides:
      initializeAnnotationProcessorManager in class Main
    • getOtherMessages

      public String getOtherMessages(boolean flush)
      Get messages not dumped to handler or any PrintWriter.
      Parameters:
      flush - if true, empty errors
      Returns:
      null if none, String otherwise
      See Also:
      BuildArgParser(IMessageHandler)
    • getBootclasspath

      public List<String> getBootclasspath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
    • getModulepath

      public List<String> getModulepath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
    • getModulesourcepath

      public List<String> getModulesourcepath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
    • handleClasspath

      public ArrayList<FileSystem.Classpath> handleClasspath(ArrayList<String> classpaths, String customEncoding)
      Overrides:
      handleClasspath in class Main
    • getClasspath

      public List getClasspath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
      If the classpath is not set, we use the environment's java.class.path, but remove the aspectjtools.jar entry from that list in order to prevent wierd bootstrap issues (refer to bug#39959).
    • getCheckedClasspaths

      public FileSystem.Classpath[] getCheckedClasspaths()
    • checkVMVersion

      public boolean checkVMVersion(long minimalSupportedVersion)
      Description copied from class: Main
      Return true if and only if the running VM supports the given minimal version.

      This only checks the major version, since the minor version is always 0 (at least for the useful cases).

      The given minimalSupportedVersion is one of the constants:

      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_1
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_2
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_3
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_4
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_5
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_6
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_7
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK1_8
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK9
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK10
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK11
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK12
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK13
      • org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants.JDK14
      Overrides:
      checkVMVersion in class Main
      Parameters:
      minimalSupportedVersion - the given minimal version
      Returns:
      true if and only if the running VM supports the given minimal version, false otherwise
    • initRootModules

      public void initRootModules(LookupEnvironment environment, FileSystem fileSystem)
      Overrides:
      initRootModules in class Main