From 9347ae3ba06363a6a8268d6e587f7dcff4e76c38 Mon Sep 17 00:00:00 2001 From: Sorin Basca Date: Mon, 20 Dec 2021 11:51:24 +0000 Subject: Adding option to include sources only for Java 11 builds Bug: 207852002 Test: m Test: EXPERIMENTAL_TARGET_JAVA_VERSION_11=true m Change-Id: I554a79798ea7f1dd4a96b09f761090f83a009cb4 --- java/base.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'java/base.go') diff --git a/java/base.go b/java/base.go index c45ef641e..7cd71a270 100644 --- a/java/base.go +++ b/java/base.go @@ -122,6 +122,14 @@ type CommonProperties struct { Javacflags []string } + Openjdk11 struct { + // List of source files that should only be used when passing -source 1.9 or higher + Srcs []string `android:"path"` + + // List of javac flags that should only be used when passing -source 1.9 or higher + Javacflags []string + } + // When compiling language level 9+ .java code in packages that are part of // a system module, patch_module names the module that your sources and // dependencies should be patched into. The Android runtime currently @@ -959,6 +967,10 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { if flags.javaVersion.usesJavaModules() { j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk9.Srcs...) } + if ctx.Config().TargetsJava11() { + j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk11.Srcs...) + } + srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs) if hasSrcExt(srcFiles.Strings(), ".proto") { flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags) -- cgit v1.2.3-59-g8ed1b