Automatically set uncompress_dex for java_import.
Setting uncompress_dex for java_import in the same way as java_library enables using a java_import as an art jar or a boot jar. Bug: 175619567 Test: m nothing Test: TestHiddenAPISingletonWithPrebuilt Change-Id: I0b552a11d1630a014cf978520ccc5977fdf74066
This commit is contained in:
parent
7dbc5786e3
commit
ff89ffae0b
|
@ -85,7 +85,7 @@ func TestHiddenAPISingletonWithPrebuilt(t *testing.T) {
|
||||||
|
|
||||||
hiddenAPI := ctx.SingletonForTests("hiddenapi")
|
hiddenAPI := ctx.SingletonForTests("hiddenapi")
|
||||||
hiddenapiRule := hiddenAPI.Rule("hiddenapi")
|
hiddenapiRule := hiddenAPI.Rule("hiddenapi")
|
||||||
want := "--boot-dex=" + buildDir + "/.intermediates/foo/android_common/dex/foo.jar"
|
want := "--boot-dex=" + buildDir + "/.intermediates/foo/android_common/aligned/foo.jar"
|
||||||
if !strings.Contains(hiddenapiRule.RuleParams.Command, want) {
|
if !strings.Contains(hiddenapiRule.RuleParams.Command, want) {
|
||||||
t.Errorf("Expected %s in hiddenapi command, but it was not present: %s", want, hiddenapiRule.RuleParams.Command)
|
t.Errorf("Expected %s in hiddenapi command, but it was not present: %s", want, hiddenapiRule.RuleParams.Command)
|
||||||
}
|
}
|
||||||
|
|
15
java/java.go
15
java/java.go
|
@ -2707,6 +2707,7 @@ type Import struct {
|
||||||
|
|
||||||
hiddenAPI
|
hiddenAPI
|
||||||
dexer
|
dexer
|
||||||
|
dexpreopter
|
||||||
|
|
||||||
properties ImportProperties
|
properties ImportProperties
|
||||||
|
|
||||||
|
@ -2832,6 +2833,14 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dex compilation
|
// Dex compilation
|
||||||
|
|
||||||
|
j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", jarName)
|
||||||
|
if j.dexProperties.Uncompress_dex == nil {
|
||||||
|
// If the value was not force-set by the user, use reasonable default based on the module.
|
||||||
|
j.dexProperties.Uncompress_dex = proptools.BoolPtr(shouldUncompressDex(ctx, &j.dexpreopter))
|
||||||
|
}
|
||||||
|
j.dexpreopter.uncompressedDex = *j.dexProperties.Uncompress_dex
|
||||||
|
|
||||||
var dexOutputFile android.ModuleOutPath
|
var dexOutputFile android.ModuleOutPath
|
||||||
dexOutputFile = j.dexer.compileDex(ctx, flags, j.minSdkVersion(), outputFile, jarName)
|
dexOutputFile = j.dexer.compileDex(ctx, flags, j.minSdkVersion(), outputFile, jarName)
|
||||||
if ctx.Failed() {
|
if ctx.Failed() {
|
||||||
|
@ -2951,6 +2960,12 @@ func (j *Import) IDECustomizedModuleName() string {
|
||||||
|
|
||||||
var _ android.PrebuiltInterface = (*Import)(nil)
|
var _ android.PrebuiltInterface = (*Import)(nil)
|
||||||
|
|
||||||
|
func (j *Import) IsInstallable() bool {
|
||||||
|
return Bool(j.properties.Installable)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ dexpreopterInterface = (*Import)(nil)
|
||||||
|
|
||||||
// java_import imports one or more `.jar` files into the build graph as if they were built by a java_library module.
|
// java_import imports one or more `.jar` files into the build graph as if they were built by a java_library module.
|
||||||
//
|
//
|
||||||
// By default, a java_import has a single variant that expects a `.jar` file containing `.class` files that were
|
// By default, a java_import has a single variant that expects a `.jar` file containing `.class` files that were
|
||||||
|
|
Loading…
Reference in New Issue