summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2019-11-27 17:43:54 +0000
committerPaul Duffin <paulduffin@google.com>2019-12-02 12:59:38 +0000
commitb645ec8e34e2e94d7f5b93aae63edac42271bf2c (patch)
tree6f90c091741e5aeeed5af6e85431be3de65ba648 /java/java.go
parent01178ed7d15f995e19d441964deee6ba6e1eac7e (diff)
Add model to represent generated snapshot .bp file
Having each module type generate the contents of the snapshot's .bp file results in lots of duplicated code. This adds an intermediate model for use by the module types and then generates the .bp file contents from that. This not only removes the duplicated formatting code but it also allows consistent handling of shared properties such as name further reducing duplication. It also makes it possible to duplicate the versioned and unversioned prebuilt modules from the same model. Extracts generatedContents from generatedFile to allow the contents to be populated without creating an output file, for testing. Cleans up unused code. Bug: 143678475 Test: m nothing Change-Id: If21b84db0ef3fdfb5dc11ea0973ce6cb73603ea3
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go26
1 files changed, 2 insertions, 24 deletions
diff --git a/java/java.go b/java/java.go
index 1c52575d2..50fa135d5 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1729,30 +1729,8 @@ func (j *Library) BuildSnapshot(sdkModuleContext android.ModuleContext, builder
}
}
- j.generateJavaImport(builder, snapshotRelativeJavaLibPath, true)
-
- // This module is for the case when the source tree for the unversioned module
- // doesn't exist (i.e. building in an unbundled tree). "prefer:" is set to false
- // so that this module does not eclipse the unversioned module if it exists.
- j.generateJavaImport(builder, snapshotRelativeJavaLibPath, false)
-}
-
-func (j *Library) generateJavaImport(builder android.SnapshotBuilder, snapshotRelativeJavaLibPath string, versioned bool) {
- bp := builder.AndroidBpFile()
- name := j.Name()
- bp.Printfln("java_import {")
- bp.Indent()
- if versioned {
- bp.Printfln("name: %q,", builder.VersionedSdkMemberName(name))
- bp.Printfln("sdk_member_name: %q,", name)
- } else {
- bp.Printfln("name: %q,", name)
- bp.Printfln("prefer: false,")
- }
- bp.Printfln("jars: [%q],", snapshotRelativeJavaLibPath)
- bp.Dedent()
- bp.Printfln("}")
- bp.Printfln("")
+ module := builder.AddPrebuiltModule(sdkModuleContext.OtherModuleName(j), "java_import")
+ module.AddProperty("jars", []string{snapshotRelativeJavaLibPath})
}
// java_library builds and links sources into a `.jar` file for the device, and possibly for the host as well.