diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-03-04 10:26:51 +0100 |
---|---|---|
committer | Benoit Lamarche <benoitlamarche@google.com> | 2015-03-10 17:14:38 +0100 |
commit | 6459913306deb3eecb0b16714672dfbdf176cdba (patch) | |
tree | bd610c080e08e38c070f2847146e2bc799cf38cb /jack-api | |
parent | f6ec9ce27c6048f5c50acef58f95cdd6a65b5296 (diff) | |
download | toolchain_jack-6459913306deb3eecb0b16714672dfbdf176cdba.zip toolchain_jack-6459913306deb3eecb0b16714672dfbdf176cdba.tar.gz toolchain_jack-6459913306deb3eecb0b16714672dfbdf176cdba.tar.bz2 |
Add Javadoc for Api01Config
Change-Id: I74cca38795068f3ca78c4c2271a5d57c53831932
Diffstat (limited to 'jack-api')
-rw-r--r-- | jack-api/src/com/android/jack/api/v01/Api01Config.java | 125 |
1 files changed, 123 insertions, 2 deletions
diff --git a/jack-api/src/com/android/jack/api/v01/Api01Config.java b/jack-api/src/com/android/jack/api/v01/Api01Config.java index 7dd7e44..54bc495 100644 --- a/jack-api/src/com/android/jack/api/v01/Api01Config.java +++ b/jack-api/src/com/android/jack/api/v01/Api01Config.java @@ -26,62 +26,183 @@ import java.util.Map; import javax.annotation.Nonnull; /** - * STOPSHIP + * A configuration for API level 01 of the Jack compiler. */ public interface Api01Config extends JackConfig { + /** + * Sets an {@link OutputStream} where Jack will write errors, warnings and other information. + * @param reporterKind The type of reporter + * @param reporterStream The stream where to write + * @throws ConfigurationException + */ void setReporter(@Nonnull ReporterKind reporterKind, @Nonnull OutputStream reporterStream) throws ConfigurationException; + /** + * Sets the policy to follow when there is a collision between imported types. + * @param typeImportCollisionPolicy the collision policy for imported types + * @throws ConfigurationException + */ void setTypeImportCollisionPolicy(@Nonnull TypeCollisionPolicy typeImportCollisionPolicy) throws ConfigurationException; + /** + * Sets the policy to follow when there is a collision between imported resources. + * @param resourceImportCollisionPolicy the collision policy for imported resources + * @throws ConfigurationException + */ void setResourceImportCollisionPolicy( @Nonnull ResourceCollisionPolicy resourceImportCollisionPolicy) throws ConfigurationException; + /** + * Sets the Java source version. + * @param javaSourceVersion the Java source version + * @throws ConfigurationException + */ void setJavaSourceVersion(@Nonnull JavaSourceVersion javaSourceVersion) throws ConfigurationException; - void setObfuscationMappingOutputFile(@Nonnull File obfuscationMappingOuputFile) + /** + * Sets the file where to write the obfuscation mapping. The file may already exist and will be + * overwritten. + * @param obfuscationMappingOutputFile the obfuscation mapping output file + * @throws ConfigurationException + */ + void setObfuscationMappingOutputFile(@Nonnull File obfuscationMappingOutputFile) throws ConfigurationException; + /** + * Sets the classpath. + * @param classpath The classpath as a list + * @throws ConfigurationException + */ void setClasspath(@Nonnull List<File> classpath) throws ConfigurationException; + /** + * Sets the Jack library files that will be imported into the output. + * @param importedJackLibraryFiles The Jack library files to import + * @throws ConfigurationException + */ void setImportedJackLibraryFiles(@Nonnull List<File> importedJackLibraryFiles) throws ConfigurationException; + /** + * Sets the directories containing files to import into the output as meta-files. + * @param metaDirs The directories containing the meta-files + * @throws ConfigurationException + */ void setMetaDirs(@Nonnull List<File> metaDirs) throws ConfigurationException; + /** + * Sets the directories containing files to import into the output as resources. + * @param resourceDirs The directories containing the resources + * @throws ConfigurationException + */ void setResourceDirs(@Nonnull List<File> resourceDirs) throws ConfigurationException; + /** + * Sets the directory that will be used to store data for incremental support. This directory must + * already exist. + * @param incrementalDir The directory used for incremental data + * @throws ConfigurationException + */ void setIncrementalDir(@Nonnull File incrementalDir) throws ConfigurationException; + /** + * Sets the directory that will be used to write dex files and resources. This directory must + * already exist. + * @param outputDexDir The output directory for dex files and resources + * @throws ConfigurationException + */ void setOutputDexDir(@Nonnull File outputDexDir) throws ConfigurationException; + /** + * Sets the file where the output Jack library will be written. The file may already exist and + * will be overwritten. + * @param outputJackFile The output Jack library file + * @throws ConfigurationException + */ void setOutputJackFile(@Nonnull File outputJackFile) throws ConfigurationException; + /** + * Sets the JarJar configuration file to use for repackaging. + * @param jarjarConfigFile The JarJar configuration file + * @throws ConfigurationException + */ void setJarJarConfigFile(@Nonnull File jarjarConfigFile) throws ConfigurationException; + /** + * Sets a ProGuard configuration file. + * @param proguardConfigFiles The ProGuard configuration file + * @throws ConfigurationException + */ void setProguardConfigFiles(@Nonnull List<File> proguardConfigFiles) throws ConfigurationException; + /** + * Set how much debug info should be emitted. + * @param debugInfoLevel The level of debug info to emit + * @throws ConfigurationException + */ void setDebugInfoLevel(@Nonnull DebugInfoLevel debugInfoLevel) throws ConfigurationException; + /** + * Sets whether to allow splitting the output in several dex files, and which method to use. + * @param multiDexKind the multidex kind + * @throws ConfigurationException + */ void setMultiDexKind(@Nonnull MultiDexKind multiDexKind) throws ConfigurationException; + /** + * Sets the verbosity level. + * @param verbosityLevel the verbosity level + * @throws ConfigurationException + */ void setVerbosityLevel(@Nonnull VerbosityLevel verbosityLevel) throws ConfigurationException; + /** + * Sets the class names of the annotation processors to run. + * @param processorNames Annotation processor class names + * @throws ConfigurationException + */ void setProcessorNames(@Nonnull List<String> processorNames) throws ConfigurationException; + /** + * Sets the path where to find annotation processors. + * @param processorPath The processor path as a list + * @throws ConfigurationException + */ void setProcessorPath(@Nonnull List<File> processorPath) throws ConfigurationException; + /** + * Sets options for the annotation processors. + * @param processorOptions The processor options as a map + * @throws ConfigurationException + */ void setProcessorOptions(@Nonnull Map<String, String> processorOptions) throws ConfigurationException; + /** + * Sets the Java source files entries to compile. + * @param sourceEntries The source entries + * @throws ConfigurationException + */ void setSourceEntries(@Nonnull List<File> sourceEntries) throws ConfigurationException; + /** + * Sets the value for the given property. + * @param key The name of the property + * @param value The value to set the property to + * @throws ConfigurationException + */ void setProperty(@Nonnull String key, @Nonnull String value) throws ConfigurationException; + /** + * Creates an instance of the {@link Api01CompilationTask} according to this configuration. + * @return The {@link Api01CompilationTask} + * @throws ConfigurationException + */ @Nonnull Api01CompilationTask getTask() throws ConfigurationException; } |