diff options
author | 2018-07-12 12:28:41 -0700 | |
---|---|---|
committer | 2018-07-12 16:59:59 -0700 | |
commit | 37f6d79c7ea557c117d119a89bb46d7a6a5d19ff (patch) | |
tree | ad4c52af3781293d6dc968b3be931a94d0f0d441 /java/builder.go | |
parent | 7f09c40c4924ac2e8510036bfa6ce264216bc964 (diff) |
Add exclude_files and exclude_dirs properties to java_import
Prebuilt jars sometime contain files that we don't want. In Make
we would delete everything in META-INF when importing jars, but
that caused problems when there were necessary files in there,
so we added LOCAL_DONT_DELETE_JAR_META_INF.
Soong does the opposite, keeping everything by default. Add
properties to allow explicitly stripping unwanted files instead.
Bug: 111389216
Test: m checkbuild
Change-Id: I6d07f519ebc7d0e1bf0af93416bb569e3c2b1500
Diffstat (limited to 'java/builder.go')
-rw-r--r-- | java/builder.go | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/java/builder.go b/java/builder.go index 15e963136..55be3a6b5 100644 --- a/java/builder.go +++ b/java/builder.go @@ -318,7 +318,8 @@ func TransformResourcesToJar(ctx android.ModuleContext, outputFile android.Writa } func TransformJarsToJar(ctx android.ModuleContext, outputFile android.WritablePath, desc string, - jars android.Paths, manifest android.OptionalPath, stripDirs bool, dirsToStrip []string) { + jars android.Paths, manifest android.OptionalPath, stripDirEntries bool, filesToStrip []string, + dirsToStrip []string) { var deps android.Paths @@ -328,22 +329,19 @@ func TransformJarsToJar(ctx android.ModuleContext, outputFile android.WritablePa deps = append(deps, manifest.Path()) } - if dirsToStrip != nil { - for _, dir := range dirsToStrip { - jarArgs = append(jarArgs, "-stripDir ", dir) - } + for _, dir := range dirsToStrip { + jarArgs = append(jarArgs, "-stripDir ", dir) + } + + for _, file := range filesToStrip { + jarArgs = append(jarArgs, "-stripFile ", file) } // Remove any module-info.class files that may have come from prebuilt jars, they cause problems // for downstream tools like desugar. jarArgs = append(jarArgs, "-stripFile module-info.class") - // Remove any kotlin-reflect related files - // TODO(pszczepaniak): Support kotlin-reflect - jarArgs = append(jarArgs, "-stripFile \"*.kotlin_module\"") - jarArgs = append(jarArgs, "-stripFile \"*.kotlin_builtin\"") - - if stripDirs { + if stripDirEntries { jarArgs = append(jarArgs, "-D") } |