Merge "Add test to show issues with widest stub dex jars" am: f6d3b2aef8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1748466 Change-Id: Ie1acf5281abfd5bf31e06d68fa1d79ae8f878d65
This commit is contained in:
@@ -258,4 +258,8 @@ func TestBootclasspathFragment_StubLibs(t *testing.T) {
|
|||||||
// Check that SdkCorePlatform uses public stubs from the mycoreplatform library.
|
// Check that SdkCorePlatform uses public stubs from the mycoreplatform library.
|
||||||
corePlatformStubsJar := "out/soong/.intermediates/mycoreplatform.stubs/android_common/dex/mycoreplatform.stubs.jar"
|
corePlatformStubsJar := "out/soong/.intermediates/mycoreplatform.stubs/android_common/dex/mycoreplatform.stubs.jar"
|
||||||
android.AssertPathsRelativeToTopEquals(t, "core platform dex stubs jar", []string{corePlatformStubsJar}, info.TransitiveStubDexJarsByScope[CorePlatformHiddenAPIScope])
|
android.AssertPathsRelativeToTopEquals(t, "core platform dex stubs jar", []string{corePlatformStubsJar}, info.TransitiveStubDexJarsByScope[CorePlatformHiddenAPIScope])
|
||||||
|
|
||||||
|
// Check the widest stubs. This should list the widest stub dex jar provided by each module.
|
||||||
|
// TODO(b/179354495): Fix this.
|
||||||
|
android.AssertPathsRelativeToTopEquals(t, "widest dex stubs jar", []string{corePlatformStubsJar}, info.TransitiveStubDexJarsByScope.StubDexJarsForWidestAPIScope())
|
||||||
}
|
}
|
||||||
|
@@ -305,10 +305,10 @@ func buildRuleToGenerateHiddenAPIStubFlagsFile(ctx android.BuilderContext, name,
|
|||||||
tempPath := tempPathForRestat(ctx, outputPath)
|
tempPath := tempPathForRestat(ctx, outputPath)
|
||||||
|
|
||||||
// Find the widest API stubs provided by the fragments on which this depends, if any.
|
// Find the widest API stubs provided by the fragments on which this depends, if any.
|
||||||
dependencyStubDexJars := input.DependencyStubDexJarsByScope.stubDexJarsForWidestAPIScope()
|
dependencyStubDexJars := input.DependencyStubDexJarsByScope.StubDexJarsForWidestAPIScope()
|
||||||
|
|
||||||
// Add widest API stubs from the additional dependencies of this, if any.
|
// Add widest API stubs from the additional dependencies of this, if any.
|
||||||
dependencyStubDexJars = append(dependencyStubDexJars, input.AdditionalStubDexJarsByScope.stubDexJarsForWidestAPIScope()...)
|
dependencyStubDexJars = append(dependencyStubDexJars, input.AdditionalStubDexJarsByScope.StubDexJarsForWidestAPIScope()...)
|
||||||
|
|
||||||
command := rule.Command().
|
command := rule.Command().
|
||||||
Tool(ctx.Config().HostToolPath(ctx, "hiddenapi")).
|
Tool(ctx.Config().HostToolPath(ctx, "hiddenapi")).
|
||||||
@@ -579,9 +579,9 @@ func (s StubDexJarsByScope) dedupAndSort() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stubDexJarsForWidestAPIScope returns the stub dex jars for the widest API scope provided by this
|
// StubDexJarsForWidestAPIScope returns the stub dex jars for the widest API scope provided by this
|
||||||
// map. The relative width of APIs is determined by their order in hiddenAPIScopes.
|
// map. The relative width of APIs is determined by their order in hiddenAPIScopes.
|
||||||
func (s StubDexJarsByScope) stubDexJarsForWidestAPIScope() android.Paths {
|
func (s StubDexJarsByScope) StubDexJarsForWidestAPIScope() android.Paths {
|
||||||
for i := len(hiddenAPIScopes) - 1; i >= 0; i-- {
|
for i := len(hiddenAPIScopes) - 1; i >= 0; i-- {
|
||||||
apiScope := hiddenAPIScopes[i]
|
apiScope := hiddenAPIScopes[i]
|
||||||
stubsForAPIScope := s[apiScope]
|
stubsForAPIScope := s[apiScope]
|
||||||
|
Reference in New Issue
Block a user