diff --git a/java/base.go b/java/base.go index 8747039da..9978a66fc 100644 --- a/java/base.go +++ b/java/base.go @@ -481,6 +481,8 @@ type Module struct { sdkVersion android.SdkSpec minSdkVersion android.SdkSpec maxSdkVersion android.SdkSpec + + sourceExtensions []string } func (j *Module) CheckStableSdkVersion(ctx android.BaseModuleContext) error { @@ -982,6 +984,14 @@ func (j *Module) collectJavacFlags( return flags } +func (j *Module) AddJSONData(d *map[string]interface{}) { + (&j.ModuleBase).AddJSONData(d) + (*d)["Java"] = map[string]interface{}{ + "SourceExtensions": j.sourceExtensions, + } + +} + func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { j.exportAidlIncludeDirs = android.PathsForModuleSrc(ctx, j.deviceProperties.Aidl.Export_include_dirs) @@ -993,6 +1003,12 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { } srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs) + j.sourceExtensions = []string{} + for _, ext := range []string{".kt", ".proto", ".aidl", ".java", ".logtags"} { + if hasSrcExt(srcFiles.Strings(), ext) { + j.sourceExtensions = append(j.sourceExtensions, ext) + } + } if hasSrcExt(srcFiles.Strings(), ".proto") { flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags) }