From 37f6d79c7ea557c117d119a89bb46d7a6a5d19ff Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 12 Jul 2018 12:28:41 -0700 Subject: 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 --- java/builder.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'java/builder.go') 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") } -- cgit v1.2.3-59-g8ed1b