aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-08-17 19:34:13 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-08-18 09:01:18 +0200
commite1016f47f26229896effa3a62ee89471289672ba (patch)
tree8480195db12d2b5c26d07b3086fa289a4c182959 /src/main/java/com/google
parent318e83f6c874f111fb065097bede26744fc3a89a (diff)
Expose android configuration to skylark (android_sdk and apk_signing_method)
PiperOrigin-RevId: 165596223
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java13
2 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
index fb1f4adcf7..0853001052 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
@@ -34,7 +34,7 @@ import javax.annotation.Nullable;
doc = "Possible fields are "
+ "<a href=\"apple.html\">apple</a>, <a href=\"cpp.html\">cpp</a>, "
+ "<a href=\"java.html\">java</a>, <a href=\"jvm.html\">jvm</a> and "
- + "<a href=\"objc.html\">objc</a>. "
+ + "<a href=\"objc.html\">objc</a>, <a href=\"android.html\">android</a>. "
+ "Access a specific fragment by its field name ex:</p><code>ctx.fragments.apple</code></p>"
+ "Note that rules have to declare their required fragments in order to access them "
+ "(see <a href=\"../rules.md#fragments\">here</a>).")
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 2b4291ea9e..9d24812789 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -39,6 +39,9 @@ import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode;
import com.google.devtools.build.lib.rules.cpp.CppOptions.DynamicModeConverter;
import com.google.devtools.build.lib.rules.cpp.CppOptions.LibcTopLabelConverter;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.Converters;
import com.google.devtools.common.options.EnumConverter;
@@ -51,9 +54,12 @@ import java.util.List;
import java.util.Set;
import javax.annotation.Nullable;
-/**
- * Configuration fragment for Android rules.
- */
+/** Configuration fragment for Android rules. */
+@SkylarkModule(
+ name = "android",
+ doc = "A configuration fragment for Android.",
+ category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT
+)
@Immutable
public class AndroidConfiguration extends BuildConfiguration.Fragment {
@@ -837,6 +843,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment {
return cpu;
}
+ @SkylarkCallable(name = "sdk", structField = true, doc = "Android SDK")
public Label getSdk() {
return sdk;
}