Merge "Add model to represent generated snapshot .bp file"

This commit is contained in:
Paul Duffin
2019-12-03 10:07:10 +00:00
committed by Gerrit Code Review
7 changed files with 334 additions and 169 deletions

View File

@@ -1737,30 +1737,8 @@ func (j *Library) BuildSnapshot(sdkModuleContext android.ModuleContext, builder
}
}
j.generateJavaImport(builder, snapshotRelativeJavaLibPath, true)
// This module is for the case when the source tree for the unversioned module
// doesn't exist (i.e. building in an unbundled tree). "prefer:" is set to false
// so that this module does not eclipse the unversioned module if it exists.
j.generateJavaImport(builder, snapshotRelativeJavaLibPath, false)
}
func (j *Library) generateJavaImport(builder android.SnapshotBuilder, snapshotRelativeJavaLibPath string, versioned bool) {
bp := builder.AndroidBpFile()
name := j.Name()
bp.Printfln("java_import {")
bp.Indent()
if versioned {
bp.Printfln("name: %q,", builder.VersionedSdkMemberName(name))
bp.Printfln("sdk_member_name: %q,", name)
} else {
bp.Printfln("name: %q,", name)
bp.Printfln("prefer: false,")
}
bp.Printfln("jars: [%q],", snapshotRelativeJavaLibPath)
bp.Dedent()
bp.Printfln("}")
bp.Printfln("")
module := builder.AddPrebuiltModule(sdkModuleContext.OtherModuleName(j), "java_import")
module.AddProperty("jars", []string{snapshotRelativeJavaLibPath})
}
// java_library builds and links sources into a `.jar` file for the device, and possibly for the host as well.