summaryrefslogtreecommitdiff
path: root/java/builder.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2018-07-12 12:28:41 -0700
committer Colin Cross <ccross@android.com> 2018-07-12 16:59:59 -0700
commit37f6d79c7ea557c117d119a89bb46d7a6a5d19ff (patch)
treead4c52af3781293d6dc968b3be931a94d0f0d441 /java/builder.go
parent7f09c40c4924ac2e8510036bfa6ce264216bc964 (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.go20
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")
}