aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorColin Cross2019-05-06 16:04:11 -0500
committerColin Cross2019-05-06 16:22:26 -0500
commit988708ce75c4e152a6b1f1a02fb096928e5d87c1 (patch)
tree376a0442a481a977374bf9ae3d24f9e328459a1f /java
parente0dbdd87f09b9345b6a79209cd5d1fb8ea44b9fc (diff)
downloadplatform-build-soong-988708ce75c4e152a6b1f1a02fb096928e5d87c1.tar.gz
platform-build-soong-988708ce75c4e152a6b1f1a02fb096928e5d87c1.tar.xz
platform-build-soong-988708ce75c4e152a6b1f1a02fb096928e5d87c1.zip
Allow module types to generate resources
Robolectric will need to generate extra resources to be added to the jar. Test: TestResources Change-Id: I028f91ea8fc5d1e59e4e805876d70f57d8899f11
Diffstat (limited to 'java')
-rw-r--r--java/java.go7
-rw-r--r--java/java_resources.go10
2 files changed, 16 insertions, 1 deletions
diff --git a/java/java.go b/java/java.go
index 47dd9572..b9c06a8e 100644
--- a/java/java.go
+++ b/java/java.go
@@ -340,6 +340,9 @@ type Module struct {
340 // list of additional targets for checkbuild 340 // list of additional targets for checkbuild
341 additionalCheckedModules android.Paths 341 additionalCheckedModules android.Paths
342 342
343 // Extra files generated by the module type to be added as java resources.
344 extraResources android.Paths
345
343 hiddenAPI 346 hiddenAPI
344 dexpreopter 347 dexpreopter
345} 348}
@@ -1113,6 +1116,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
1113 dirArgs, dirDeps := ResourceDirsToJarArgs(ctx, j.properties.Java_resource_dirs, 1116 dirArgs, dirDeps := ResourceDirsToJarArgs(ctx, j.properties.Java_resource_dirs,
1114 j.properties.Exclude_java_resource_dirs, j.properties.Exclude_java_resources) 1117 j.properties.Exclude_java_resource_dirs, j.properties.Exclude_java_resources)
1115 fileArgs, fileDeps := ResourceFilesToJarArgs(ctx, j.properties.Java_resources, j.properties.Exclude_java_resources) 1118 fileArgs, fileDeps := ResourceFilesToJarArgs(ctx, j.properties.Java_resources, j.properties.Exclude_java_resources)
1119 extraArgs, extraDeps := resourcePathsToJarArgs(j.extraResources), j.extraResources
1116 1120
1117 var resArgs []string 1121 var resArgs []string
1118 var resDeps android.Paths 1122 var resDeps android.Paths
@@ -1123,6 +1127,9 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
1123 resArgs = append(resArgs, fileArgs...) 1127 resArgs = append(resArgs, fileArgs...)
1124 resDeps = append(resDeps, fileDeps...) 1128 resDeps = append(resDeps, fileDeps...)
1125 1129
1130 resArgs = append(resArgs, extraArgs...)
1131 resDeps = append(resDeps, extraDeps...)
1132
1126 if Bool(j.properties.Include_srcs) { 1133 if Bool(j.properties.Include_srcs) {
1127 srcArgs, srcDeps := SourceFilesToJarArgs(ctx, j.properties.Srcs, j.properties.Exclude_srcs) 1134 srcArgs, srcDeps := SourceFilesToJarArgs(ctx, j.properties.Srcs, j.properties.Exclude_srcs)
1128 resArgs = append(resArgs, srcArgs...) 1135 resArgs = append(resArgs, srcArgs...)
diff --git a/java/java_resources.go b/java/java_resources.go
index 71611689..1bbeb9a6 100644
--- a/java/java_resources.go
+++ b/java/java_resources.go
@@ -98,6 +98,14 @@ func resourceFilesToJarArgs(ctx android.ModuleContext,
98 98
99 files := android.PathsForModuleSrcExcludes(ctx, res, exclude) 99 files := android.PathsForModuleSrcExcludes(ctx, res, exclude)
100 100
101 args = resourcePathsToJarArgs(files)
102
103 return args, files
104}
105
106func resourcePathsToJarArgs(files android.Paths) []string {
107 var args []string
108
101 lastDir := "" 109 lastDir := ""
102 for i, f := range files { 110 for i, f := range files {
103 rel := f.Rel() 111 rel := f.Rel()
@@ -113,5 +121,5 @@ func resourceFilesToJarArgs(ctx android.ModuleContext,
113 lastDir = dir 121 lastDir = dir
114 } 122 }
115 123
116 return args, files 124 return args
117} 125}