summaryrefslogtreecommitdiffstats
path: root/jack-api
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-03-04 10:26:51 +0100
committerBenoit Lamarche <benoitlamarche@google.com>2015-03-10 17:14:38 +0100
commit6459913306deb3eecb0b16714672dfbdf176cdba (patch)
treebd610c080e08e38c070f2847146e2bc799cf38cb /jack-api
parentf6ec9ce27c6048f5c50acef58f95cdd6a65b5296 (diff)
downloadtoolchain_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.java125
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;
}