aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-08-14 09:26:27 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-14 09:27:46 -0700
commit677fa3104485b54d93fc319aa004d8a6f80296a8 (patch)
tree095b4e01fcfa0489b31910393fc20743fb238f5c
parent9a933772e87dfcf684590eb74eee9970e8b66669 (diff)
Export constructors as global symbols.
This CL also includes a fix for constructor names from the "Provider" module. Naming does not include the module's name now. (Provider.AndroidAssetsInfo() -> AndroidAssetsInfo()) RELNOTES: None PiperOrigin-RevId: 208658905
-rw-r--r--src/main/java/com/google/devtools/build/docgen/ApiExporter.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java25
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java2
11 files changed, 34 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/docgen/ApiExporter.java b/src/main/java/com/google/devtools/build/docgen/ApiExporter.java
index a0124d251d..97050a7d67 100644
--- a/src/main/java/com/google/devtools/build/docgen/ApiExporter.java
+++ b/src/main/java/com/google/devtools/build/docgen/ApiExporter.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.docgen.builtin.BuiltinProtos.Callable;
import com.google.devtools.build.docgen.builtin.BuiltinProtos.Param;
import com.google.devtools.build.docgen.builtin.BuiltinProtos.Type;
import com.google.devtools.build.docgen.builtin.BuiltinProtos.Value;
+import com.google.devtools.build.docgen.skylark.SkylarkConstructorMethodDoc;
import com.google.devtools.build.docgen.skylark.SkylarkMethodDoc;
import com.google.devtools.build.docgen.skylark.SkylarkModuleDoc;
import com.google.devtools.build.docgen.skylark.SkylarkParamDoc;
@@ -50,7 +51,12 @@ public class ApiExporter {
type.setName(mod.getName());
type.setDoc(mod.getDocumentation());
for (SkylarkMethodDoc meth : mod.getJavaMethods()) {
- type.addField(collectFieldInfo(meth));
+ // Constructors should be exported as globals.
+ if (meth instanceof SkylarkConstructorMethodDoc) {
+ builtins.addGlobal(collectFieldInfo(meth));
+ } else {
+ type.addField(collectFieldInfo(meth));
+ }
}
builtins.addType(type);
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
index 2263fa73f9..85ee70c042 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidAssetsInfoApi.java
@@ -149,7 +149,7 @@ public interface AndroidAssetsInfoApi<FileT extends FileApi, AssetsT extends Par
generic1 = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidAssetsInfoApi.class)
+ @SkylarkConstructor(objectType = AndroidAssetsInfoApi.class, receiverNameForDoc = NAME)
public AndroidAssetsInfoApi<FileT, AssetsT> createInfo(
Label label,
FileT validationResult,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
index 7f55e28e76..a60c509e81 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidCcLinkParamsProviderApi.java
@@ -53,7 +53,9 @@ public interface AndroidCcLinkParamsProviderApi<T extends CcLinkingInfoApi> exte
type = CcLinkingInfoApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidCcLinkParamsProviderApi.class)
+ @SkylarkConstructor(
+ objectType = AndroidCcLinkParamsProviderApi.class,
+ receiverNameForDoc = NAME)
public AndroidCcLinkParamsProviderApi<T> createInfo(T store) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
index 2a7ec22380..ffcf8cec50 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidFeatureFlagSetProviderApi.java
@@ -56,7 +56,9 @@ public interface AndroidFeatureFlagSetProviderApi extends StructApi {
type = SkylarkDict.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidFeatureFlagSetProviderApi.class)
+ @SkylarkConstructor(
+ objectType = AndroidFeatureFlagSetProviderApi.class,
+ receiverNameForDoc = NAME)
AndroidFeatureFlagSetProviderApi create(SkylarkDict<Label, String> flags) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
index 1278e0780e..36900f74cb 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidIdlProviderApi.java
@@ -108,7 +108,7 @@ public interface AndroidIdlProviderApi<FileT extends FileApi> extends StructApi
generic1 = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidIdlProviderApi.class)
+ @SkylarkConstructor(objectType = AndroidIdlProviderApi.class, receiverNameForDoc = NAME)
AndroidIdlProviderApi<FileT> createInfo(
SkylarkNestedSet transitiveIdlImportRoots,
SkylarkNestedSet transitiveIdlImports,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java
index 4c70937abb..6dc2c380dd 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidInstrumentationInfoApi.java
@@ -58,20 +58,19 @@ public interface AndroidInstrumentationInfoApi<FileT extends FileApi> extends St
name = "AndroidInstrumentationInfo",
doc = "The <code>AndroidInstrumentationInfo</code> constructor.",
parameters = {
- @Param(
- name = "target_apk",
- type = FileApi.class,
- named = true,
- doc = "The target APK of the instrumentation test."
- ),
- @Param(
- name = "instrumentation_apk",
- type = FileApi.class,
- named = true,
- doc = "The instrumentation APK that should be executed."
- )},
+ @Param(
+ name = "target_apk",
+ type = FileApi.class,
+ named = true,
+ doc = "The target APK of the instrumentation test."),
+ @Param(
+ name = "instrumentation_apk",
+ type = FileApi.class,
+ named = true,
+ doc = "The instrumentation APK that should be executed.")
+ },
selfCall = true)
- @SkylarkConstructor(objectType = AndroidInstrumentationInfoApi.class)
+ @SkylarkConstructor(objectType = AndroidInstrumentationInfoApi.class, receiverNameForDoc = NAME)
public AndroidInstrumentationInfoApi<FileT> createInfo(
FileT targetApk, FileT instrumentationApk) throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
index 4cdb1f3e2f..1542ed0a5b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidLibraryResourceClassJarProviderApi.java
@@ -55,7 +55,9 @@ public interface AndroidLibraryResourceClassJarProviderApi<FileT extends FileApi
generic1 = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidLibraryResourceClassJarProviderApi.class)
+ @SkylarkConstructor(
+ objectType = AndroidLibraryResourceClassJarProviderApi.class,
+ receiverNameForDoc = NAME)
AndroidLibraryResourceClassJarProviderApi<FileT> create(SkylarkNestedSet jars)
throws EvalException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java
index 404fa8f0c5..a6007a0de4 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidPreDexJarProviderApi.java
@@ -53,7 +53,7 @@ public interface AndroidPreDexJarProviderApi<FileT extends FileApi> extends Stru
type = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidPreDexJarProviderApi.class)
+ @SkylarkConstructor(objectType = AndroidPreDexJarProviderApi.class, receiverNameForDoc = NAME)
public AndroidPreDexJarProviderApi<FileT> createInfo(FileT preDexJar) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
index ea0705a15f..e69ce93809 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/AndroidResourcesInfoApi.java
@@ -202,7 +202,7 @@ public interface AndroidResourcesInfoApi<
generic1 = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = AndroidResourcesInfoApi.class)
+ @SkylarkConstructor(objectType = AndroidResourcesInfoApi.class, receiverNameForDoc = NAME)
AndroidResourcesInfoApi<FileT, ValidatedAndroidDataT, AndroidManifestT> createInfo(
Label label,
AndroidManifestT manifest,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java
index 28df971a77..a48a6c3e45 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android/ProguardMappingProviderApi.java
@@ -51,7 +51,7 @@ public interface ProguardMappingProviderApi<FileT extends FileApi> extends Struc
type = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = ProguardMappingProviderApi.class)
+ @SkylarkConstructor(objectType = ProguardMappingProviderApi.class, receiverNameForDoc = NAME)
public ProguardMappingProviderApi<FileT> createInfo(FileT proguardMapping) throws EvalException;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
index 39b2cafe69..4e20a0fd19 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/ProguardSpecProviderApi.java
@@ -54,7 +54,7 @@ public interface ProguardSpecProviderApi<FileT extends FileApi> extends StructAp
generic1 = FileApi.class),
},
selfCall = true)
- @SkylarkConstructor(objectType = ProguardSpecProviderApi.class)
+ @SkylarkConstructor(objectType = ProguardSpecProviderApi.class, receiverNameForDoc = NAME)
ProguardSpecProviderApi<FileT> create(SkylarkNestedSet specs) throws EvalException;
}
}