diff options
author | Colin Cross | 2019-05-06 16:04:11 -0500 |
---|---|---|
committer | Colin Cross | 2019-05-06 16:22:26 -0500 |
commit | 988708ce75c4e152a6b1f1a02fb096928e5d87c1 (patch) | |
tree | 376a0442a481a977374bf9ae3d24f9e328459a1f /java | |
parent | e0dbdd87f09b9345b6a79209cd5d1fb8ea44b9fc (diff) | |
download | platform-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.go | 7 | ||||
-rw-r--r-- | java/java_resources.go | 10 |
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 | |||
106 | func 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 | } |