Package org.aspectj.ajdt.ajc
Class BuildArgParser
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
org.aspectj.ajdt.ajc.BuildArgParser
- All Implemented Interfaces:
ProblemSeverities
,SuffixConstants
-
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
annotationPaths, annotationsFromClasspath, aspectjLocale, batchCompiler, bundle, bundleName, checkedClasspaths, classNames, compilerLocale, compilerOptions, compilerStats, complianceLevel, currentRepetition, DEFAULT_SIZE_CLASSPATH, destinationPath, destinationPaths, enablePreview, encodings, exportedClassFilesCounter, extraProblems, failOnWarning, filenames, globalErrorsCount, globalInfoCount, globalProblemsCount, globalTasksCount, globalWarningsCount, ignoreOptionalProblemsFromFolders, limitedModules, lineCount0, log, logger, maxProblems, maxRepetition, modNames, module, NONE, options, out, pendingErrors, proceed, proceedOnError, produceRefInfo, progress, releaseVersion, rootModules, 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, CoreSeverityMASK, Error, Fatal, Ignore, Info, InternalError, 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, EXTENSION_jmod, EXTENSION_JMOD, 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
ConstructorDescriptionBuildArgParser(PrintWriter writer, IMessageHandler handler)
Overrides super's bundle.BuildArgParser(IMessageHandler handler)
Set up to capture messages using getOtherMessages(boolean) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExtraProblems(CategorizedProblem problem)
boolean
checkVMVersion(long minimalSupportedVersion)
Return true if and only if the running VM supports the given minimal version.genBuildConfig(String[] args)
Generate build configuration for the input args, passing to handler any error messages.getBootclasspath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
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).getModulepath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
getModulesourcepath(org.aspectj.ajdt.ajc.BuildArgParser.AjcConfigParser parser)
getOtherMessages(boolean flush)
Get messages not dumped to handler or any PrintWriter.static String
getUsage()
static String
handleClasspath(ArrayList<String> classpaths, String customEncoding)
void
void
initRootModules(LookupEnvironment environment, FileSystem fileSystem)
populateBuildConfig(AjBuildConfig buildConfig, String[] args, boolean setClasspath, File configFile)
Generate build configuration for the input arguments, passing to handler any error messages.void
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
_bind, addNewEntry, bind, bind, bind, bind, compile, compile, compile, compile, configure, disableAll, enableAll, extractDestinationPathFromSourceFile, getBatchRequestor, getCompilationUnits, getHandlingPolicy, getJavaHome, getLibrariesFiles, getLibraryAccess, getModuleDesc, getProblemFactory, handleBootclasspath, handleEndorseddirs, handleErrorToken, handleExtdirs, handleInfoToken, handleModulepath, handleModuleSourcepath, handleWarningToken, initialize, initialize, initialize, isIgnored, loggingExtraProblems, main, outputClassFiles, performCompilation, printUsage, processPathEntries, relocalize, setDestinationPath, setLocale, setPaths, shouldIgnoreOptionalProblems, tokenize, validateClasspathOptions, validateOptions
-
Constructor Details
-
BuildArgParser
Overrides super's bundle. -
BuildArgParser
Set up to capture messages using getOtherMessages(boolean)
-
-
Method Details
-
getUsage
- Returns:
- multi-line String usage for the compiler
-
getXOptionUsage
-
genBuildConfig
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 configurationsetClasspath
- determines if the classpath should be parsed and set on the build configurationconfigFile
- can be null- Returns:
- AjBuildConfig per arguments, which will be invalid unless there are no handler errors.
-
printVersion
public void printVersion()- Overrides:
printVersion
in classMain
-
addExtraProblems
- Overrides:
addExtraProblems
in classMain
-
initializeAnnotationProcessorManager
public void initializeAnnotationProcessorManager()- Overrides:
initializeAnnotationProcessorManager
in classMain
-
getOtherMessages
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
-
getModulepath
-
getModulesourcepath
-
handleClasspath
public ArrayList<FileSystem.Classpath> handleClasspath(ArrayList<String> classpaths, String customEncoding)- Overrides:
handleClasspath
in classMain
-
getClasspath
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
-
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 classMain
- Parameters:
minimalSupportedVersion
- the given minimal version- Returns:
- true if and only if the running VM supports the given minimal version, false otherwise
-
initRootModules
- Overrides:
initRootModules
in classMain
-