aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android
diff options
context:
space:
mode:
authorGravatar plf <plf@google.com>2018-07-23 02:02:24 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-23 02:04:09 -0700
commit6b5df97308d5ce60e801f9872d6b354db5164fe6 (patch)
tree27c789f49745f2123cefecd5f9c10c343c46c692 /src/main/java/com/google/devtools/build/lib/rules/android
parenta6255612e4892729d3758775c76085b26b9bc584 (diff)
C++: Refactors every provider wrapping CcLinkParamsStore
Providers that were wrapping CcLinkParamsStore now wrap CcLinkingInfo instead. CcLinkParamsStore will be deleted in a future CL. RELNOTES:none PiperOrigin-RevId: 205629924
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCcLinkParamsProvider.java22
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java8
2 files changed, 18 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCcLinkParamsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCcLinkParamsProvider.java
index 5d88498db7..2b9ba895d3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCcLinkParamsProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCcLinkParamsProvider.java
@@ -20,46 +20,46 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.BuiltinProvider;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.rules.cpp.AbstractCcLinkParamsStore;
-import com.google.devtools.build.lib.rules.cpp.CcLinkParamsStore;
+import com.google.devtools.build.lib.rules.cpp.CcLinkingInfo;
import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidCcLinkParamsProviderApi;
import com.google.devtools.build.lib.syntax.EvalException;
/** A target that provides C++ libraries to be linked into Android targets. */
@Immutable
public final class AndroidCcLinkParamsProvider extends NativeInfo
- implements AndroidCcLinkParamsProviderApi<CcLinkParamsStore> {
+ implements AndroidCcLinkParamsProviderApi<CcLinkingInfo> {
public static final String PROVIDER_NAME = "AndroidCcLinkParamsInfo";
public static final Provider PROVIDER = new Provider();
- private final CcLinkParamsStore store;
+ private final CcLinkingInfo ccLinkingInfo;
- public AndroidCcLinkParamsProvider(AbstractCcLinkParamsStore store) {
+ public AndroidCcLinkParamsProvider(CcLinkingInfo ccLinkingInfo) {
super(PROVIDER);
- this.store = new CcLinkParamsStore(store);
+ this.ccLinkingInfo = ccLinkingInfo;
}
@Override
- public CcLinkParamsStore getLinkParams() {
- return store;
+ public CcLinkingInfo getLinkParams() {
+ return ccLinkingInfo;
}
public static final Function<TransitiveInfoCollection, AbstractCcLinkParamsStore> TO_LINK_PARAMS =
(TransitiveInfoCollection input) -> {
AndroidCcLinkParamsProvider provider = input.get(AndroidCcLinkParamsProvider.PROVIDER);
- return provider == null ? null : provider.getLinkParams();
+ return provider == null ? null : provider.getLinkParams().getCcLinkParamsStore();
};
/** Provider class for {@link AndroidCcLinkParamsProvider} objects. */
public static class Provider extends BuiltinProvider<AndroidCcLinkParamsProvider>
- implements AndroidCcLinkParamsProviderApi.Provider<CcLinkParamsStore> {
+ implements AndroidCcLinkParamsProviderApi.Provider<CcLinkingInfo> {
private Provider() {
super(PROVIDER_NAME, AndroidCcLinkParamsProvider.class);
}
@Override
- public AndroidCcLinkParamsProviderApi<CcLinkParamsStore> createInfo(CcLinkParamsStore store)
+ public AndroidCcLinkParamsProviderApi<CcLinkingInfo> createInfo(CcLinkingInfo ccLinkingInfo)
throws EvalException {
- return new AndroidCcLinkParamsProvider(store);
+ return new AndroidCcLinkParamsProvider(ccLinkingInfo);
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
index 26115c36fa..19262c7ce8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java
@@ -30,6 +30,8 @@ import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.packages.TriState;
import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidAaptVersion;
import com.google.devtools.build.lib.rules.android.AndroidLibraryAarInfo.Aar;
+import com.google.devtools.build.lib.rules.cpp.CcLinkParamsStore;
+import com.google.devtools.build.lib.rules.cpp.CcLinkingInfo;
import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaSemantics;
import com.google.devtools.build.lib.rules.java.JavaSourceInfoProvider;
@@ -245,7 +247,11 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory {
JavaSourceInfoProvider.class,
JavaSourceInfoProvider.fromJavaTargetAttributes(javaTargetAttributes, javaSemantics))
.addNativeDeclaredProvider(
- new AndroidCcLinkParamsProvider(androidCommon.getCcLinkParamsStore()))
+ new AndroidCcLinkParamsProvider(
+ CcLinkingInfo.Builder.create()
+ .setCcLinkParamsStore(
+ new CcLinkParamsStore(androidCommon.getCcLinkParamsStore()))
+ .build()))
.addNativeDeclaredProvider(new ProguardSpecProvider(transitiveProguardConfigs))
.addNativeDeclaredProvider(
new AndroidProguardInfo(proguardLibrary.collectLocalProguardSpecs()))