Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55f84a74 authored by Sorin Basca's avatar Sorin Basca Committed by Gerrit Code Review
Browse files

Merge "Adding option to include sources only for Java 11 builds"

parents 1778546f 9347ae3b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -658,6 +658,10 @@ func (c *config) IsEnvFalse(key string) bool {
	return value == "0" || value == "n" || value == "no" || value == "off" || value == "false"
}

func (c *config) TargetsJava11() bool {
	return c.IsEnvTrue("EXPERIMENTAL_TARGET_JAVA_VERSION_11")
}

// EnvDeps returns the environment variables this build depends on. The first
// call to this function blocks future reads from the environment.
func (c *config) EnvDeps() map[string]string {
+12 −0
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -449,7 +449,7 @@ func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext an
		return normalizeJavaVersion(ctx, javaVersion)
	} else if ctx.Device() {
		return defaultJavaLanguageVersion(ctx, sdkContext.SdkVersion(ctx))
	} else if ctx.Config().IsEnvTrue("EXPERIMENTAL_TARGET_JAVA_VERSION_11") {
	} else if ctx.Config().TargetsJava11() {
		// Temporary experimental flag to be able to try and build with
		// java version 11 options.  The flag, if used, just sets Java
		// 11 as the default version, leaving any components that
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ func defaultJavaLanguageVersion(ctx android.EarlyModuleContext, s android.SdkSpe
		return JAVA_VERSION_7
	} else if sdk.FinalOrFutureInt() <= 29 {
		return JAVA_VERSION_8
	} else if ctx.Config().IsEnvTrue("EXPERIMENTAL_TARGET_JAVA_VERSION_11") {
	} else if ctx.Config().TargetsJava11() {
		// Temporary experimental flag to be able to try and build with
		// java version 11 options. The flag, if used, just sets Java
		// 11 as the default version, leaving any components that
+6 −0
Original line number Diff line number Diff line
@@ -1392,6 +1392,10 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext
			Srcs       []string
			Javacflags []string
		}
		Openjdk11 struct {
			Srcs       []string
			Javacflags []string
		}
		Dist struct {
			Targets []string
			Dest    *string
@@ -1418,6 +1422,8 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext
	}
	props.Openjdk9.Srcs = module.properties.Openjdk9.Srcs
	props.Openjdk9.Javacflags = module.properties.Openjdk9.Javacflags
	props.Openjdk11.Srcs = module.properties.Openjdk11.Srcs
	props.Openjdk11.Javacflags = module.properties.Openjdk11.Javacflags
	// We compile the stubs for 1.8 in line with the main android.jar stubs, and potential
	// interop with older developer tools that don't support 1.9.
	props.Java_version = proptools.StringPtr("1.8")