diff --git a/java/base.go b/java/base.go index 65a8b30c8..9c1d8fb8e 100644 --- a/java/base.go +++ b/java/base.go @@ -1211,6 +1211,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath var kotlinJars android.Paths var kotlinHeaderJars android.Paths + var kotlinExtraJars android.Paths // Prepend extraClasspathJars to classpath so that the resource processor R.jar comes before // any dependencies so that it can override any non-final R classes from dependencies with the @@ -1321,17 +1322,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath kotlinJars = append(kotlinJars, kotlinJarPath) kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar) - - // Jar kotlin classes into the final jar after javac - if BoolDefault(j.properties.Static_kotlin_stdlib, true) { - kotlinJars = append(kotlinJars, deps.kotlinStdlib...) - kotlinJars = append(kotlinJars, deps.kotlinAnnotations...) - kotlinHeaderJars = append(kotlinHeaderJars, deps.kotlinStdlib...) - kotlinHeaderJars = append(kotlinHeaderJars, deps.kotlinAnnotations...) - } else { - flags.dexClasspath = append(flags.dexClasspath, deps.kotlinStdlib...) - flags.dexClasspath = append(flags.dexClasspath, deps.kotlinAnnotations...) - } + kotlinExtraJars = append(kotlinExtraJars, deps.kotlinStdlib...) + kotlinExtraJars = append(kotlinExtraJars, deps.kotlinAnnotations...) } jars := slices.Clone(kotlinJars) @@ -1349,7 +1341,11 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath // allow for the use of annotation processors that do function correctly // with sharding enabled. See: b/77284273. } - extraJars := append(slices.Clone(kotlinHeaderJars), extraCombinedJars...) + extraJars := slices.Clone(kotlinHeaderJars) + if BoolDefault(j.properties.Static_kotlin_stdlib, true) { + extraJars = append(extraJars, kotlinExtraJars...) + } + extraJars = append(extraJars, extraCombinedJars...) var combinedHeaderJarFile android.Path headerJarFileWithoutDepsOrJarjar, combinedHeaderJarFile = j.compileJavaHeader(ctx, uniqueJavaFiles, srcJars, deps, flags, jarName, extraJars) @@ -1427,6 +1423,13 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath } } + // Jar kotlin classes into the final jar after javac + if BoolDefault(j.properties.Static_kotlin_stdlib, true) { + jars = append(jars, kotlinExtraJars...) + } else { + flags.dexClasspath = append(flags.dexClasspath, kotlinExtraJars...) + } + jars = append(jars, extraCombinedJars...) j.srcJarArgs, j.srcJarDeps = resourcePathsToJarArgs(srcFiles), srcFiles