aboutsummaryrefslogtreecommitdiffstats
path: root/java/gen.go
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-09-20 12:59:05 -0700
committerColin Cross <ccross@android.com>2017-10-03 10:25:15 -0700
commit6af17aa0228ce589914f93d3b48183bb356e52e5 (patch)
tree67dff285d69b0b2f484022a601ea4e62833d1462 /java/gen.go
parent47ff2521c6479c44c5b7b0874948346b04c682df (diff)
downloadandroid_build_soong-6af17aa0228ce589914f93d3b48183bb356e52e5.tar.gz
android_build_soong-6af17aa0228ce589914f93d3b48183bb356e52e5.tar.bz2
android_build_soong-6af17aa0228ce589914f93d3b48183bb356e52e5.zip
Add support for .proto files in java modules
Test: m -j checkbuild Change-Id: Ia03429948baebff85164a91a34507866c97a08ef
Diffstat (limited to 'java/gen.go')
-rw-r--r--java/gen.go26
1 files changed, 21 insertions, 5 deletions
diff --git a/java/gen.go b/java/gen.go
index e473859f..e55be916 100644
--- a/java/gen.go
+++ b/java/gen.go
@@ -85,21 +85,37 @@ func genLogtags(ctx android.ModuleContext, logtagsFile android.Path) android.Pat
}
func (j *Module) genSources(ctx android.ModuleContext, srcFiles android.Paths,
- flags javaBuilderFlags) android.Paths {
+ flags javaBuilderFlags) (android.Paths, android.Paths) {
- for i, srcFile := range srcFiles {
+ var protoFiles android.Paths
+ outSrcFiles := make(android.Paths, 0, len(srcFiles))
+
+ for _, srcFile := range srcFiles {
switch srcFile.Ext() {
case ".aidl":
javaFile := genAidl(ctx, srcFile, flags.aidlFlags)
- srcFiles[i] = javaFile
+ outSrcFiles = append(outSrcFiles, javaFile)
case ".logtags":
j.logtagsSrcs = append(j.logtagsSrcs, srcFile)
javaFile := genLogtags(ctx, srcFile)
- srcFiles[i] = javaFile
+ outSrcFiles = append(outSrcFiles, javaFile)
+ case ".proto":
+ protoFiles = append(protoFiles, srcFile)
+ default:
+ outSrcFiles = append(outSrcFiles, srcFile)
}
}
- return srcFiles
+ var outSrcFileLists android.Paths
+
+ if len(protoFiles) > 0 {
+ protoFileList := genProto(ctx, protoFiles,
+ flags.protoFlags, flags.protoOutFlag, "")
+
+ outSrcFileLists = append(outSrcFileLists, protoFileList)
+ }
+
+ return outSrcFiles, outSrcFileLists
}
func LogtagsSingleton() blueprint.Singleton {