Use a presingleton to create hiddenapi singleton paths early
If no module uses hiddenapi (because it is an unbundled build that does not build any boot image modules), then the makevars singleton panics because it will always run before the hiddenapi singleton (due to package init() function ordering), and the hiddenapi singleton paths have not been initialized yet. Add a presingleton to initialize the paths early. Bug: 123645297 Test: tapas Launcher3 && m on unbundled branch Change-Id: I9386ac87848a2181f51140129288df80fff9acfd
This commit is contained in:
@@ -19,6 +19,7 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
android.RegisterPreSingletonType("pre-hiddenapi", hiddenAPIPreSingletonFactory)
|
||||
android.RegisterSingletonType("hiddenapi", hiddenAPISingletonFactory)
|
||||
}
|
||||
|
||||
@@ -43,6 +44,18 @@ func hiddenAPISingletonPaths(ctx android.PathContext) hiddenAPISingletonPathsStr
|
||||
}).(hiddenAPISingletonPathsStruct)
|
||||
}
|
||||
|
||||
func hiddenAPIPreSingletonFactory() android.Singleton {
|
||||
return hiddenAPIPreSingleton{}
|
||||
}
|
||||
|
||||
type hiddenAPIPreSingleton struct{}
|
||||
|
||||
// hiddenAPI pre-singleton rules to ensure paths are always generated before
|
||||
// makevars
|
||||
func (hiddenAPIPreSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
hiddenAPISingletonPaths(ctx)
|
||||
}
|
||||
|
||||
func hiddenAPISingletonFactory() android.Singleton {
|
||||
return hiddenAPISingleton{}
|
||||
}
|
||||
|
Reference in New Issue
Block a user