Refactor ProviderInfo into a proto
RELNOTES: None.
PiperOrigin-RevId: 252652040
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
index 1a3e9fc..87f63cb 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
@@ -33,12 +33,14 @@
import com.google.devtools.build.lib.syntax.SkylarkDict;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkType;
-import com.google.devtools.build.skydoc.rendering.ProviderInfo;
+import com.google.devtools.build.skydoc.rendering.ProviderInfoWrapper;
import com.google.devtools.build.skydoc.rendering.RuleInfoWrapper;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeType;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderFieldInfo;
+import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.RuleInfo;
+import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
@@ -56,7 +58,8 @@
private static final FakeDescriptor IMPLICIT_NAME_ATTRIBUTE_DESCRIPTOR =
new FakeDescriptor(AttributeType.NAME, "A unique name for this target.", true);
private final List<RuleInfoWrapper> ruleInfoList;
- private final List<ProviderInfo> providerInfoList;
+
+ private final List<ProviderInfoWrapper> providerInfoList;
/**
* Constructor.
@@ -67,7 +70,7 @@
* information will be added
*/
public FakeSkylarkRuleFunctionsApi(
- List<RuleInfoWrapper> ruleInfoList, List<ProviderInfo> providerInfoList) {
+ List<RuleInfoWrapper> ruleInfoList, List<ProviderInfoWrapper> providerInfoList) {
this.ruleInfoList = ruleInfoList;
this.providerInfoList = providerInfoList;
}
@@ -98,7 +101,7 @@
} else {
// fields is NONE, so there is no field information to add.
}
- providerInfoList.add(new ProviderInfo(fakeProvider, doc, providerFieldInfos.build()));
+ providerInfoList.add(forProviderInfo(fakeProvider, doc, providerFieldInfos.build()));
return fakeProvider;
}
@@ -107,6 +110,12 @@
return ProviderFieldInfo.newBuilder().setName(name).setDocString(docString).build();
}
+ /** Constructor for ProviderInfoWrapper. */
+ public ProviderInfoWrapper forProviderInfo(
+ BaseFunction identifier, String docString, Collection<ProviderFieldInfo> fieldInfos) {
+ return new ProviderInfoWrapper(identifier, docString, fieldInfos);
+ }
+
@Override
public BaseFunction rule(
BaseFunction implementation,