Remove EarlyMutators and DynamicDependencies
EarlyMutators are identical to BottomUpMutators, except they run before
DynamicDependencies. DynamicDependencies can be replaced with a
BottomUpMutator. Replace both EarlyMutators and DynamicDependencies
with BottomUpMutators, which allows setting the order between all
mutators through registration order.
Change-Id: Id1305d798d3d2da592061c89d7c10a71780b71a3
diff --git a/java/java.go b/java/java.go
index 8b50eff..2bd5bff 100644
--- a/java/java.go
+++ b/java/java.go
@@ -145,9 +145,11 @@
installFile string
}
+type AndroidJavaModuleContext common.AndroidBaseContext
+
type JavaModuleType interface {
GenerateJavaBuildActions(ctx common.AndroidModuleContext)
- JavaDynamicDependencies(ctx common.AndroidDynamicDependerModuleContext) []string
+ JavaDependencies(ctx AndroidJavaModuleContext) []string
}
type JavaDependency interface {
@@ -191,11 +193,13 @@
var defaultJavaLibraries = []string{"core-libart", "core-junit", "ext", "framework"}
-func (j *javaBase) AndroidDynamicDependencies(ctx common.AndroidDynamicDependerModuleContext) []string {
- return j.module.JavaDynamicDependencies(ctx)
+func javaDepsMutator(ctx common.AndroidBottomUpMutatorContext) {
+ if j, ok := ctx.Module().(JavaModuleType); ok {
+ ctx.AddDependency(ctx.Module(), j.JavaDependencies(ctx)...)
+ }
}
-func (j *javaBase) JavaDynamicDependencies(ctx common.AndroidDynamicDependerModuleContext) []string {
+func (j *javaBase) JavaDependencies(ctx AndroidJavaModuleContext) []string {
var deps []string
if !j.properties.No_standard_libraries {