diff options
author | Colin Cross <ccross@android.com> | 2017-09-20 12:59:05 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-10-03 10:25:15 -0700 |
commit | 6af17aa0228ce589914f93d3b48183bb356e52e5 (patch) | |
tree | 67dff285d69b0b2f484022a601ea4e62833d1462 /java/gen.go | |
parent | 47ff2521c6479c44c5b7b0874948346b04c682df (diff) | |
download | android_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.go | 26 |
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 { |