Fix Jack command-line
Provides min api level to Jack.
Change-Id: Ia74e54670496697462bc54ce4b05c16d6c6cf8c0
diff --git a/src/vogar/Language.java b/src/vogar/Language.java
index 9d441e5..6e8e9c1 100644
--- a/src/vogar/Language.java
+++ b/src/vogar/Language.java
@@ -20,22 +20,28 @@
* An enum for the different language variants supported by vogar.
*/
public enum Language {
- J17("1.7", "1.7"),
- JN("1.8", "1.8");
+ J17("1.7", "1.7", 23),
+ JN("1.8", "1.8", 24);
private final String javacSourceAndTarget;
- private final String jackArg;
+ private final String jackSourceVersion;
+ private final int jackMinApilevel;
- Language(String javacSourceAndTarget, String jackArg) {
+ Language(String javacSourceAndTarget, String jackSourceVersion, int jackMinApiLevel) {
this.javacSourceAndTarget = javacSourceAndTarget;
- this.jackArg = jackArg;
+ this.jackSourceVersion = jackSourceVersion;
+ this.jackMinApilevel = jackMinApiLevel;
}
public String getJavacSourceAndTarget() {
return javacSourceAndTarget;
}
- public String getJackArg() {
- return jackArg;
+ public String getJackSourceVersion() {
+ return jackSourceVersion;
+ }
+
+ public int getJackMinApilevel() {
+ return jackMinApilevel;
}
}
diff --git a/src/vogar/android/JackDexTask.java b/src/vogar/android/JackDexTask.java
index ea244b5..e427807 100644
--- a/src/vogar/android/JackDexTask.java
+++ b/src/vogar/android/JackDexTask.java
@@ -91,7 +91,8 @@
run.log.verbose("JackDexTask: Could not obtain " + localDex + " from jackCache");
Jack jack = Jack.getJackCommand(run.log).outputDexZip(localDex.getPath());
- jack.sourceVersion(run.language.getJackArg());
+ jack.sourceVersion(run.language.getJackSourceVersion());
+ jack.minApiLevel(String.valueOf(run.language.getJackMinApilevel()));
if (run.debugging) {
jack.setDebug();
}
diff --git a/src/vogar/commands/Jack.java b/src/vogar/commands/Jack.java
index ddde99d..b80b6a1 100644
--- a/src/vogar/commands/Jack.java
+++ b/src/vogar/commands/Jack.java
@@ -118,6 +118,11 @@
return this;
}
+ public Jack minApiLevel(String minApiLevel) {
+ setProperty("jack.android.min-api-level=" + minApiLevel);
+ return this;
+ }
+
public Jack outputDex(String dir) {
builder.args("--output-dex", dir);
return this;
diff --git a/src/vogar/tasks/BuildActionTask.java b/src/vogar/tasks/BuildActionTask.java
index 1f0b3ae..e50378b 100644
--- a/src/vogar/tasks/BuildActionTask.java
+++ b/src/vogar/tasks/BuildActionTask.java
@@ -136,7 +136,8 @@
if (run.debugging) {
compiler.setDebug();
}
- compiler.sourceVersion(run.language.getJackArg());
+ compiler.sourceVersion(run.language.getJackSourceVersion());
+ compiler.minApiLevel(String.valueOf(run.language.getJackMinApilevel()));
Set<File> sourceFiles = Sets.newHashSet();
// Add the source files to be compiled.