Loading java/base.go +15 −12 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading @@ -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) Loading Loading @@ -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 Loading java/kotlin.go +10 −2 Original line number Diff line number Diff line Loading @@ -101,6 +101,10 @@ func kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile andro commonSrcFilesArg = "--common_srcs " + commonSrcsList.String() } classpathRspFile := android.PathForModuleOut(ctx, "kotlinc", "classpath.rsp") android.WriteFileRule(ctx, classpathRspFile, strings.Join(flags.kotlincClasspath.Strings(), " ")) deps = append(deps, classpathRspFile) ctx.Build(pctx, android.BuildParams{ Rule: kotlinc, Description: "kotlinc", Loading @@ -109,7 +113,7 @@ func kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile andro Inputs: srcFiles, Implicits: deps, Args: map[string]string{ "classpath": flags.kotlincClasspath.FormJavaClassPath(""), "classpath": classpathRspFile.String(), "kotlincFlags": flags.kotlincFlags, "commonSrcFilesArg": commonSrcFilesArg, "srcJars": strings.Join(srcJars.Strings(), " "), Loading Loading @@ -205,6 +209,10 @@ func kotlinKapt(ctx android.ModuleContext, srcJarOutputFile, resJarOutputFile an kotlinName := filepath.Join(ctx.ModuleDir(), ctx.ModuleSubDir(), ctx.ModuleName()) kotlinName = strings.ReplaceAll(kotlinName, "/", "__") classpathRspFile := android.PathForModuleOut(ctx, "kapt", "classpath.rsp") android.WriteFileRule(ctx, classpathRspFile, strings.Join(flags.kotlincClasspath.Strings(), "\n")) deps = append(deps, classpathRspFile) // First run kapt to generate .java stubs from .kt files kaptStubsJar := android.PathForModuleOut(ctx, "kapt", "stubs.jar") ctx.Build(pctx, android.BuildParams{ Loading @@ -214,7 +222,7 @@ func kotlinKapt(ctx android.ModuleContext, srcJarOutputFile, resJarOutputFile an Inputs: srcFiles, Implicits: deps, Args: map[string]string{ "classpath": flags.kotlincClasspath.FormJavaClassPath(""), "classpath": classpathRspFile.String(), "kotlincFlags": flags.kotlincFlags, "commonSrcFilesArg": commonSrcFilesArg, "srcJars": strings.Join(srcJars.Strings(), " "), Loading scripts/gen-kotlin-build-file.py +3 −3 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ def parse_args(): parser.add_argument('--out', dest='out', help='file to which the module.xml contents will be written.') parser.add_argument('--classpath', dest='classpath', action='append', default=[], help='classpath to pass to kotlinc.') help='file containing classpath to pass to kotlinc.') parser.add_argument('--name', dest='name', help='name of the module.') parser.add_argument('--out_dir', dest='out_dir', Loading Loading @@ -65,8 +65,8 @@ def main(): f.write(' <module name="%s" type="java-production" outputDir="%s">\n' % (args.name, args.out_dir or '')) # Print classpath entries for c in args.classpath: for entry in c.split(':'): for classpath_rsp_file in args.classpath: for entry in NinjaRspFileReader(classpath_rsp_file): path = os.path.abspath(entry) f.write(' <classpath path="%s"/>\n' % path) Loading Loading
java/base.go +15 −12 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading @@ -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) Loading Loading @@ -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 Loading
java/kotlin.go +10 −2 Original line number Diff line number Diff line Loading @@ -101,6 +101,10 @@ func kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile andro commonSrcFilesArg = "--common_srcs " + commonSrcsList.String() } classpathRspFile := android.PathForModuleOut(ctx, "kotlinc", "classpath.rsp") android.WriteFileRule(ctx, classpathRspFile, strings.Join(flags.kotlincClasspath.Strings(), " ")) deps = append(deps, classpathRspFile) ctx.Build(pctx, android.BuildParams{ Rule: kotlinc, Description: "kotlinc", Loading @@ -109,7 +113,7 @@ func kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile andro Inputs: srcFiles, Implicits: deps, Args: map[string]string{ "classpath": flags.kotlincClasspath.FormJavaClassPath(""), "classpath": classpathRspFile.String(), "kotlincFlags": flags.kotlincFlags, "commonSrcFilesArg": commonSrcFilesArg, "srcJars": strings.Join(srcJars.Strings(), " "), Loading Loading @@ -205,6 +209,10 @@ func kotlinKapt(ctx android.ModuleContext, srcJarOutputFile, resJarOutputFile an kotlinName := filepath.Join(ctx.ModuleDir(), ctx.ModuleSubDir(), ctx.ModuleName()) kotlinName = strings.ReplaceAll(kotlinName, "/", "__") classpathRspFile := android.PathForModuleOut(ctx, "kapt", "classpath.rsp") android.WriteFileRule(ctx, classpathRspFile, strings.Join(flags.kotlincClasspath.Strings(), "\n")) deps = append(deps, classpathRspFile) // First run kapt to generate .java stubs from .kt files kaptStubsJar := android.PathForModuleOut(ctx, "kapt", "stubs.jar") ctx.Build(pctx, android.BuildParams{ Loading @@ -214,7 +222,7 @@ func kotlinKapt(ctx android.ModuleContext, srcJarOutputFile, resJarOutputFile an Inputs: srcFiles, Implicits: deps, Args: map[string]string{ "classpath": flags.kotlincClasspath.FormJavaClassPath(""), "classpath": classpathRspFile.String(), "kotlincFlags": flags.kotlincFlags, "commonSrcFilesArg": commonSrcFilesArg, "srcJars": strings.Join(srcJars.Strings(), " "), Loading
scripts/gen-kotlin-build-file.py +3 −3 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ def parse_args(): parser.add_argument('--out', dest='out', help='file to which the module.xml contents will be written.') parser.add_argument('--classpath', dest='classpath', action='append', default=[], help='classpath to pass to kotlinc.') help='file containing classpath to pass to kotlinc.') parser.add_argument('--name', dest='name', help='name of the module.') parser.add_argument('--out_dir', dest='out_dir', Loading Loading @@ -65,8 +65,8 @@ def main(): f.write(' <module name="%s" type="java-production" outputDir="%s">\n' % (args.name, args.out_dir or '')) # Print classpath entries for c in args.classpath: for entry in c.split(':'): for classpath_rsp_file in args.classpath: for entry in NinjaRspFileReader(classpath_rsp_file): path = os.path.abspath(entry) f.write(' <classpath path="%s"/>\n' % path) Loading