org.aspectj.ajdt.ajc
Class BuildArgParser

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
      extended by org.aspectj.ajdt.ajc.BuildArgParser
All Implemented Interfaces:
ProblemSeverities, SuffixConstants

public class BuildArgParser
extends Main


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
Main.Logger, Main.ResourceBundleFactory
 
Field Summary
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
batchCompiler, bundle, bundleName, checkedClasspaths, classNames, compilerLocale, compilerOptions, compilerStats, currentRepetition, DEFAULT_SIZE_CLASSPATH, destinationPath, destinationPaths, encodings, exportedClassFilesCounter, extraProblems, filenames, globalErrorsCount, globalProblemsCount, globalTasksCount, globalWarningsCount, lineCount0, log, logger, maxProblems, maxRepetition, NONE, options, out, pendingErrors, proceed, proceedOnError, produceRefInfo, progress, showProgress, startTime, systemExitWhenFinished, timing, TIMING_DETAILED, TIMING_DISABLED, TIMING_ENABLED, verbose
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemSeverities
Abort, AbortCompilation, AbortCompilationUnit, AbortMethod, AbortType, Error, Fatal, Ignore, Optional, SecondaryError, Warning
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.util.SuffixConstants
EXTENSION_aj, EXTENSION_AJ, EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_aj, SUFFIX_AJ, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_aj, SUFFIX_STRING_AJ, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA
 
Constructor Summary
BuildArgParser(IMessageHandler handler)
          Set up to capture messages using getOtherMessages(boolean)
BuildArgParser(java.io.PrintWriter writer, IMessageHandler handler)
          Overrides super's bundle.
 
Method Summary
 AjBuildConfig genBuildConfig(java.lang.String[] args)
          Generate build configuration for the input args, passing to handler any error messages.
 java.util.List<java.lang.String> getBootclasspath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
           
 java.util.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).
 java.lang.String getOtherMessages(boolean flush)
          Get messages not dumped to handler or any PrintWriter.
static java.lang.String getUsage()
           
static java.lang.String getXOptionUsage()
           
 AjBuildConfig populateBuildConfig(AjBuildConfig buildConfig, java.lang.String[] args, boolean setClasspath, java.io.File configFile)
          Generate build configuration for the input arguments, passing to handler any error messages.
 void printUsage()
           
 void printVersion()
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
_bind, addExtraProblems, addNewEntry, bind, bind, bind, bind, compile, compile, compile, compile, configure, disableErrors, disableWarnings, extractDestinationPathFromSourceFile, getBatchRequestor, getCompilationUnits, getHandlingPolicy, getJavaHome, getLibrariesFiles, getLibraryAccess, getProblemFactory, handleBootclasspath, handleClasspath, handleEndorseddirs, handleErrorToken, handleExtdirs, handleWarningToken, initialize, initialize, initialize, initializeAnnotationProcessorManager, loggingExtraProblems, main, outputClassFiles, performCompilation, processPathEntries, relocalize, setDestinationPath, setLocale, setPaths, tokenize, validateOptions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BuildArgParser

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


BuildArgParser

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

Method Detail

getUsage

public static java.lang.String getUsage()
Returns:
multi-line String usage for the compiler

getXOptionUsage

public static java.lang.String getXOptionUsage()

genBuildConfig

public AjBuildConfig genBuildConfig(java.lang.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,
                                         java.lang.String[] args,
                                         boolean setClasspath,
                                         java.io.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

printUsage

public void printUsage()
Overrides:
printUsage in class Main

getOtherMessages

public java.lang.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()

getBootclasspath

public java.util.List<java.lang.String> getBootclasspath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)

getClasspath

public java.util.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).