diff options
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/java/java.go b/java/java.go index 35b6a4f05..fef9912b5 100644 --- a/java/java.go +++ b/java/java.go @@ -1333,6 +1333,7 @@ type Import struct {  	android.ModuleBase  	android.DefaultableModuleBase  	android.ApexModuleBase +	android.BazelModuleBase  	prebuilt android.Prebuilt  	android.SdkBase @@ -1688,6 +1689,7 @@ func ImportFactory() android.Module {  	android.InitPrebuiltModule(module, &module.properties.Jars)  	android.InitApexModule(module)  	android.InitSdkAwareModule(module) +	android.InitBazelModule(module)  	InitJavaModule(module, android.HostAndDeviceSupported)  	return module  } @@ -2106,3 +2108,21 @@ func javaBinaryHostBp2Build(ctx android.TopDownMutatorContext, m *Binary) {  	// Create the BazelTargetModule.  	ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: m.Name()}, attrs)  } + +type bazelJavaImportAttributes struct { +	Jars bazel.LabelListAttribute +} + +// java_import bp2Build converter. +func (i *Import) ConvertWithBp2build(ctx android.TopDownMutatorContext) { +	//TODO(b/209577426): Support multiple arch variants +	jars := bazel.MakeLabelListAttribute(android.BazelLabelForModuleSrcExcludes(ctx, i.properties.Jars, []string(nil))) + +	attrs := &bazelJavaImportAttributes{ +		Jars: jars, +	} +	props := bazel.BazelTargetModuleProperties{Rule_class: "java_import"} + +	ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: android.RemoveOptionalPrebuiltPrefix(i.Name())}, attrs) + +} |