Add hostdex support

If hostdex: true is specified for a java library, create an extra
Make module that copies the dex jar to a module with a -hostdex
suffix in the host output directory.

Bug: 67600882
Test: m -j checkbuild
Change-Id: I859dfaabeefdca714b566de94e00f74e03c85939
This commit is contained in:
Colin Cross
2017-10-09 14:59:32 -07:00
parent 89479facb9
commit 92430106c3
4 changed files with 29 additions and 14 deletions

View File

@@ -125,16 +125,15 @@ type CompilerDeviceProperties struct {
// if not blank, set to the version of the sdk to compile against
Sdk_version string
// Set for device java libraries, and for host versions of device java libraries
// built for testing
Dex bool `blueprint:"mutated"`
// directories to pass to aidl tool
Aidl_includes []string
// directories that should be added as include directories
// for any aidl sources of modules that depend on this module
Export_aidl_include_dirs []string
// If true, export a copy of the module as a -hostdex module for host testing.
Hostdex *bool
}
// Module contains the properties and members used by all java module types
@@ -279,8 +278,6 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
if sdkDep.useModule {
ctx.AddDependency(ctx.Module(), bootClasspathTag, sdkDep.module)
}
} else {
// TODO(ccross): add hostdex support
}
}
ctx.AddDependency(ctx.Module(), libTag, j.properties.Libs...)
@@ -508,7 +505,6 @@ func (j *Module) compile(ctx android.ModuleContext) {
j.classpathFile = outputFile
// TODO(ccross): handle hostdex
if ctx.Device() && j.installable() {
dxFlags := j.deviceProperties.Dxflags
if false /* emma enabled */ {
@@ -622,7 +618,6 @@ func LibraryFactory(installable bool) func() android.Module {
if !installable {
module.properties.Installable = proptools.BoolPtr(false)
}
module.deviceProperties.Dex = true
module.AddProperties(
&module.Module.properties,
@@ -680,8 +675,6 @@ func (j *Binary) DepsMutator(ctx android.BottomUpMutatorContext) {
func BinaryFactory() android.Module {
module := &Binary{}
module.deviceProperties.Dex = true
module.AddProperties(
&module.Module.properties,
&module.Module.deviceProperties,