From e82713de767ea4f002f49ba75427698989c47edd Mon Sep 17 00:00:00 2001
From: Luis Fernando Pino Duque
This class just wraps a {@link java.lang.Class} implementing the
* aspect factory. All wrappers of the same class are equal.
*/
-public final class NativeAspectClass One would think that using the compile time classpath would be enough, but alas, those are
* ijars,
*/
-public class AndroidNeverlinkAspect implements ConfiguredNativeAspectFactory {
+public class AndroidNeverlinkAspect extends NativeAspectClass implements ConfiguredAspectFactory {
public static final String NAME = "AndroidNeverlinkAspect";
private static final ImmutableListexports
attributes
are considered direct dependencies of any rule that directly depends on the
@@ -84,8 +93,8 @@ public final class AndroidLibraryBaseRule implements RuleDefinition {
.add(attr("exports", LABEL_LIST)
.allowedRuleClasses(AndroidRuleClasses.ALLOWED_DEPENDENCIES)
.allowedFileTypes(/*May not have files in exports!*/)
- .aspect(JackAspect.class)
- .aspect(AndroidNeverlinkAspect.class))
+ .aspect(jackAspect)
+ .aspect(androidNeverlinkAspect))
.add(attr("alwayslink", BOOLEAN).undocumented("purely informational for now"))
/*
Only use this library for compilation and not at runtime.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
index b0a3e0d914..db8730062c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
@@ -15,7 +15,7 @@ package com.google.devtools.build.lib.rules.android;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.ConfiguredAspect;
-import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
+import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.packages.AspectDefinition;
import com.google.devtools.build.lib.packages.AspectParameters;
import com.google.devtools.build.lib.packages.BuildType;
+import com.google.devtools.build.lib.packages.NativeAspectClass;
import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
import com.google.devtools.build.lib.rules.java.JavaRuntimeJarProvider;
@@ -38,7 +39,7 @@ import java.util.List;
*