Lines Matching refs:ctx
368 SdkHeaderJars(ctx android.BaseContext, sdkVersion string) android.Paths
369 SdkImplementationJars(ctx android.BaseContext, sdkVersion string) android.Paths
435 func (j *Module) shouldInstrument(ctx android.BaseContext) bool {
436 return j.properties.Instrument && ctx.Config().IsEnvTrue("EMMA_INSTRUMENT")
439 func (j *Module) shouldInstrumentStatic(ctx android.BaseContext) bool {
440 return j.shouldInstrument(ctx) &&
441 (ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_STATIC") ||
442 ctx.Config().UnbundledBuild())
463 func (j *Module) deps(ctx android.BottomUpMutatorContext) {
464 if ctx.Device() {
466 sdkDep := decodeSdkDep(ctx, sdkContext(j))
468 ctx.AddVariationDependencies(nil, bootClasspathTag, config.DefaultBootclasspathLibraries...)
469 ctx.AddVariationDependencies(nil, systemModulesTag, config.DefaultSystemModules)
471 ctx.AddVariationDependencies(nil, libTag, config.DefaultLibraries...)
474 ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
475 ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.modules...)
477 ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultBootclasspathLibraries...)
478 ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultLibraries...)
482 ctx.PropertyErrorf("no_standard_libs",
485 ctx.AddVariationDependencies(nil, systemModulesTag, *j.deviceProperties.System_modules)
487 if (ctx.ModuleName() == "framework") || (ctx.ModuleName() == "framework-annotation-proc") {
488 ctx.AddVariationDependencies(nil, frameworkResTag, "framework-res")
490 if ctx.ModuleName() == "android_stubs_current" ||
491 ctx.ModuleName() == "android_system_stubs_current" ||
492 ctx.ModuleName() == "android_test_stubs_current" {
493 ctx.AddVariationDependencies(nil, frameworkApkTag, "framework-res")
497 ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
498 ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...)
500 ctx.AddFarVariationDependencies([]blueprint.Variation{
501 {Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
504 android.ProtoDeps(ctx, &j.protoProperties)
506 protoDeps(ctx, &j.protoProperties)
512 ctx.AddVariationDependencies(nil, kotlinStdlibTag, "kotlin-stdlib")
514 ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations")
518 if j.shouldInstrumentStatic(ctx) {
519 ctx.AddVariationDependencies(nil, staticLibTag, "jacocoagent")
549 func (j *Module) aidlFlags(ctx android.ModuleContext, aidlPreprocess android.OptionalPath,
552 aidlIncludes := android.PathsForModuleSrc(ctx, j.deviceProperties.Aidl.Local_include_dirs)
554 android.PathsForModuleSrc(ctx, j.deviceProperties.Aidl.Export_include_dirs)...)
556 android.PathsForSource(ctx, j.deviceProperties.Aidl.Include_dirs)...)
576 flags = append(flags, "-I"+android.PathForModuleSrc(ctx).String())
577 if src := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "src"); src.Valid() {
611 func checkProducesJars(ctx android.ModuleContext, dep android.SourceFileProducer) {
614 …ctx.ModuleErrorf("genrule %q must generate files ending with .jar to be used as a libs or static_l…
615 ctx.OtherModuleName(dep.(blueprint.Module)))
660 func checkLinkType(ctx android.ModuleContext, from *Module, to *Library, tag dependencyTag) {
661 if ctx.Host() {
665 myLinkType, stubs := getLinkType(from, ctx.ModuleName())
669 otherLinkType, _ := getLinkType(&to.Module, ctx.OtherModuleName(to))
675 …ctx.ModuleErrorf("compiles against core Java API, but dependency %q is compiling against non-core …
676 ctx.OtherModuleName(to))
681 …ctx.ModuleErrorf("compiles against Android API, but dependency %q is compiling against non-public …
682 ctx.OtherModuleName(to))
687 …ctx.ModuleErrorf("compiles against system API, but dependency %q is compiling against private API.…
688 ctx.OtherModuleName(to))
697 func (j *Module) collectDeps(ctx android.ModuleContext) deps {
700 if ctx.Device() {
701 sdkDep := decodeSdkDep(ctx, sdkContext(j))
703 ctx.AddMissingDependencies(sdkDep.modules)
713 ctx.VisitDirectDeps(func(module android.Module) {
714 otherName := ctx.OtherModuleName(module)
715 tag := ctx.OtherModuleDependencyTag(module)
729 checkLinkType(ctx, j, to, tag.(dependencyTag))
736 deps.classpath = append(deps.classpath, dep.SdkHeaderJars(ctx, j.sdkVersion())...)
740 ctx.ModuleErrorf("dependency on java_sdk_library %q can only be in libs", otherName)
767 ctx.PropertyErrorf("plugins", "%q is not a java_plugin module", otherName)
770 if (ctx.ModuleName() == "framework") || (ctx.ModuleName() == "framework-annotation-proc") {
776 if ctx.ModuleName() == "android_stubs_current" ||
777 ctx.ModuleName() == "android_system_stubs_current" ||
778 ctx.ModuleName() == "android_test_stubs_current" {
796 checkProducesJars(ctx, dep)
799 checkProducesJars(ctx, dep)
818 ctx.ModuleErrorf("depends on non-java module %q", otherName)
828 func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext sdkContext) string {
832 if ctx.Config().IsPdkBuild() && (v == "" || v == "current") {
833 sdkVersions := ctx.Config().Get(sdkVersionsKey).([]int)
841 sdk, err := sdkVersionToNumber(ctx, v)
843 ctx.PropertyErrorf("sdk_version", "%s", err)
847 } else if ctx.Device() && sdk <= 23 {
849 } else if ctx.Device() && sdk <= 28 || !ctx.Config().TargetOpenJDK9() {
851 } else if ctx.Device() && sdkContext.sdkVersion() != "" && sdk == android.FutureApiLevel {
861 func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaBuilderFlags {
866 flags.javaVersion = getJavaVersion(ctx, String(j.properties.Java_version), sdkContext(j))
873 if ctx.Config().MinimizeJavaDebugInfo() {
879 if ctx.Config().RunErrorProne() {
881 ctx.ModuleErrorf("cannot build with Error Prone, missing external/error_prone?")
892 flags.errorProneProcessorPath = classpath(android.PathsForSource(ctx, config.ErrorProneClasspath))
902 if len(flags.bootClasspath) == 0 && ctx.Host() && flags.javaVersion != "1.9" &&
918 java8Home := ctx.Config().Getenv("ANDROID_JAVA8_HOME")
920 android.PathForSource(ctx, java8Home, "jre/lib/jce.jar"),
921 android.PathForSource(ctx, java8Home, "jre/lib/rt.jar"))
924 android.PathForSource(ctx, java8Home, "lib/tools.jar"))
932 patchPaths := ".:" + ctx.Config().BuildDir()
946 flags.aidlFlags, flags.aidlDeps = j.aidlFlags(ctx, deps.aidlPreprocess, deps.aidlIncludeDirs)
950 ctx.Variable(pctx, "javacFlags", strings.Join(javacFlags, " "))
957 func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path) {
959 …j.exportAidlIncludeDirs = android.PathsForModuleSrc(ctx, j.deviceProperties.Aidl.Export_include_di…
961 deps := j.collectDeps(ctx)
962 flags := j.collectBuilderFlags(ctx, deps)
967 srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs)
969 flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags)
972 srcFiles = j.genSources(ctx, srcFiles, flags)
983 j.expandJarjarRules = android.PathForModuleSrc(ctx, *j.properties.Jarjar_rules)
986 jarName := ctx.ModuleName() + ".jar"
1003 CheckKotlincFlags(ctx, kotlincFlags)
1009 if ctx.Device() {
1014 ctx.Variable(pctx, "kotlincFlags", strings.Join(kotlincFlags, " "))
1030 kaptSrcJar := android.PathForModuleOut(ctx, "kapt", "kapt-sources.jar")
1031 kotlinKapt(ctx, kaptSrcJar, kotlinSrcFiles, srcJars, flags)
1038 kotlinJar := android.PathForModuleOut(ctx, "kotlin", jarName)
1039 kotlinCompile(ctx, kotlinJar, kotlinSrcFiles, srcJars, flags)
1040 if ctx.Failed() {
1059 if ctx.Device() && !ctx.Config().IsEnvFalse("TURBINE_ENABLED") && !deps.disableTurbine {
1068 …j.headerJarFile = j.compileJavaHeader(ctx, uniqueSrcFiles, srcJars, deps, flags, jarName, kotlinJa…
1069 if ctx.Failed() {
1075 if ctx.Config().RunErrorProne() {
1081 errorprone := android.PathForModuleOut(ctx, "errorprone", jarName)
1082 RunErrorProne(ctx, errorprone, uniqueSrcFiles, srcJars, flags)
1093 classes := android.PathForModuleOut(ctx, "javac", jarName+strconv.Itoa(idx))
1094 TransformJavaToClasses(ctx, classes, idx, shardSrc, nil, flags, extraJarDeps)
1099 classes := android.PathForModuleOut(ctx, "javac", jarName+strconv.Itoa(len(shardSrcs)))
1100 TransformJavaToClasses(ctx, classes, len(shardSrcs), nil, srcJars, flags, extraJarDeps)
1104 classes := android.PathForModuleOut(ctx, "javac", jarName)
1105 TransformJavaToClasses(ctx, classes, -1, uniqueSrcFiles, srcJars, flags, extraJarDeps)
1108 if ctx.Failed() {
1113 dirArgs, dirDeps := ResourceDirsToJarArgs(ctx, j.properties.Java_resource_dirs,
1115 …fileArgs, fileDeps := ResourceFilesToJarArgs(ctx, j.properties.Java_resources, j.properties.Exclud…
1127 srcArgs, srcDeps := SourceFilesToJarArgs(ctx, j.properties.Srcs, j.properties.Exclude_srcs)
1133 resourceJar := android.PathForModuleOut(ctx, "res", jarName)
1134 TransformResourcesToJar(ctx, resourceJar, resArgs, resDeps)
1136 if ctx.Failed() {
1148 combinedJar := android.PathForModuleOut(ctx, "res-combined", jarName)
1149 TransformJarsToJar(ctx, combinedJar, "for resources", jars, android.OptionalPath{},
1158 manifest = android.OptionalPathForPath(android.PathForModuleSrc(ctx, *j.properties.Manifest))
1161 services := android.PathsForModuleSrc(ctx, j.properties.Services)
1163 servicesJar := android.PathForModuleOut(ctx, "services", jarName)
1169 ctx.Build(pctx, android.BuildParams{
1192 combinedJar := android.PathForModuleOut(ctx, "combined", jarName)
1193 ctx.Build(pctx, android.BuildParams{
1201 combinedJar := android.PathForModuleOut(ctx, "combined", jarName)
1202 TransformJarsToJar(ctx, combinedJar, "for javac", jars, manifest,
1210 jarjarFile := android.PathForModuleOut(ctx, "jarjar", jarName)
1211 TransformJarJar(ctx, jarjarFile, outputFile, j.expandJarjarRules)
1216 resourceJarJarFile := android.PathForModuleOut(ctx, "res-jarjar", jarName)
1217 TransformJarJar(ctx, resourceJarJarFile, j.resourceJar, j.expandJarjarRules)
1221 if ctx.Failed() {
1229 pkgckFile := android.PathForModuleOut(ctx, "package-check.stamp")
1230 CheckJarPackages(ctx, pkgckFile, outputFile, j.properties.Permitted_packages)
1233 if ctx.Failed() {
1243 if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") {
1244 if inList(ctx.ModuleName(), config.InstrumentFrameworkModules) {
1249 if j.shouldInstrument(ctx) {
1250 outputFile = j.instrument(ctx, flags, outputFile, jarName)
1257 combinedJar := android.PathForModuleOut(ctx, "withres", jarName)
1258 TransformJarsToJar(ctx, combinedJar, "for resources", jars, android.OptionalPath{},
1265 if ctx.Device() && (Bool(j.properties.Installable) || Bool(j.deviceProperties.Compile_dex)) {
1268 dexOutputFile = j.compileDex(ctx, flags, outputFile, jarName)
1269 if ctx.Failed() {
1274 dexOutputFile = j.hiddenAPI.hiddenAPI(ctx, dexOutputFile, j.implementationJarFile,
1280 combinedJar := android.PathForModuleOut(ctx, "dex-withres", jarName)
1281 TransformJarsToJar(ctx, combinedJar, "for dex resources", jars, android.OptionalPath{},
1284 combinedAlignedJar := android.PathForModuleOut(ctx, "dex-withres-aligned", jarName)
1285 TransformZipAlign(ctx, combinedAlignedJar, combinedJar)
1295 dexOutputFile = j.dexpreopt(ctx, dexOutputFile)
1301 if ctx.Failed() {
1308 ctx.CheckbuildFile(outputFile)
1316 func CheckKotlincFlags(ctx android.ModuleContext, flags []string) {
1321 ctx.PropertyErrorf("kotlincflags", "Flag `%s` must start with `-`", flag)
1323 ctx.PropertyErrorf("kotlincflags",
1326 ctx.PropertyErrorf("kotlincflags", "Flag `%s` already used by build system", flag)
1328 ctx.PropertyErrorf("kotlincflags", "Bad flag: `%s`, do not include runtime.", flag)
1332 ctx.PropertyErrorf("kotlincflags",
1339 func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars android.Paths,
1345 turbineJar := android.PathForModuleOut(ctx, "turbine", jarName)
1346 TransformJavaToHeaderClasses(ctx, turbineJar, srcFiles, srcJars, flags)
1347 if ctx.Failed() {
1362 combinedJar := android.PathForModuleOut(ctx, "turbine-combined", jarName)
1363 TransformJarsToJar(ctx, combinedJar, "for turbine", jars, android.OptionalPath{},
1369 jarjarFile := android.PathForModuleOut(ctx, "turbine-jarjar", jarName)
1370 TransformJarJar(ctx, jarjarFile, headerJar, j.expandJarjarRules)
1372 if ctx.Failed() {
1380 func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags,
1383 specs := j.jacocoModuleToZipCommand(ctx)
1385 jacocoReportClassesFile := android.PathForModuleOut(ctx, "jacoco-report-classes", jarName)
1386 instrumentedJar := android.PathForModuleOut(ctx, "jacoco", jarName)
1388 jacocoInstrumentJar(ctx, instrumentedJar, jacocoReportClassesFile, classesJar, specs)
1470 func shouldUncompressDex(ctx android.ModuleContext, dexpreopter *dexpreopter) bool {
1472 if inList(ctx.ModuleName(), ctx.Config().BootJars()) {
1477 …if !dexpreopter.dexpreoptDisabled(ctx) && (ctx.Host() || !odexOnSystemOther(ctx, dexpreopter.insta…
1480 if ctx.Config().UncompressPrivAppDex() &&
1481 inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules()) {
1488 func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
1489 j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", ctx.ModuleName()+".jar")
1492 j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
1494 j.compile(ctx)
1496 …if (Bool(j.properties.Installable) || ctx.Host()) && !android.DirectlyInAnyApex(ctx, ctx.ModuleNam…
1497 j.installFile = ctx.InstallFile(android.PathForModuleInstall(ctx, "framework"),
1498 ctx.ModuleName()+".jar", j.outputFile)
1502 func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) {
1503 j.deps(ctx)
1595 func (j *Test) GenerateAndroidBuildActions(ctx android.ModuleContext) {
1596 …j.testConfig = tradefed.AutoGenJavaTestConfig(ctx, j.testProperties.Test_config, j.testProperties.…
1597 j.data = android.PathsForModuleSrc(ctx, j.testProperties.Data)
1599 j.Library.GenerateAndroidBuildActions(ctx)
1602 func (j *TestHelperLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
1603 j.Library.GenerateAndroidBuildActions(ctx)
1692 func (j *Binary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
1693 if ctx.Arch().ArchType == android.Common {
1697 ctx.PropertyErrorf("main_class", "main_class cannot be used when manifest is set")
1699 manifestFile := android.PathForModuleOut(ctx, "manifest.txt")
1700 GenerateMainClassManifest(ctx, manifestFile, String(j.binaryProperties.Main_class))
1704 j.Library.GenerateAndroidBuildActions(ctx)
1710 j.wrapperFile = android.PathForModuleSrc(ctx, *j.binaryProperties.Wrapper)
1712 j.wrapperFile = android.PathForSource(ctx, "build/soong/scripts/jar-wrapper.sh")
1717 jarFile := ctx.PrimaryModule().(*Binary).installFile
1719 j.binaryFile = ctx.InstallExecutable(android.PathForModuleInstall(ctx, "bin"),
1720 ctx.ModuleName(), j.wrapperFile, jarFile)
1724 func (j *Binary) DepsMutator(ctx android.BottomUpMutatorContext) {
1725 if ctx.Arch().ArchType == android.Common {
1726 j.deps(ctx)
1829 func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
1830 ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
1833 func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
1834 jars := android.PathsForModuleSrc(ctx, j.properties.Jars)
1836 jarName := ctx.ModuleName() + ".jar"
1837 outputFile := android.PathForModuleOut(ctx, "combined", jarName)
1838 TransformJarsToJar(ctx, outputFile, "for prebuilts", jars, android.OptionalPath{},
1842 outputFile = android.PathForModuleOut(ctx, "jetifier", jarName)
1843 TransformJetifier(ctx, outputFile, inputFile)
1847 ctx.VisitDirectDeps(func(module android.Module) {
1848 otherName := ctx.OtherModuleName(module)
1849 tag := ctx.OtherModuleDependencyTag(module)
1869 ctx.InstallFile(android.PathForModuleInstall(ctx, "framework"),
1870 ctx.ModuleName()+".jar", outputFile)
2002 func (j *DexImport) DepsMutator(ctx android.BottomUpMutatorContext) {
2003 android.ExtractSourcesDeps(ctx, j.properties.Jars)
2006 func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
2008 ctx.PropertyErrorf("jars", "exactly one jar must be provided")
2011 j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", ctx.ModuleName()+".jar")
2013 j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
2015 inputJar := ctx.ExpandSource(j.properties.Jars[0], "jars")
2016 dexOutputFile := android.PathForModuleOut(ctx, ctx.ModuleName()+".jar")
2021 temporary := android.PathForModuleOut(ctx, ctx.ModuleName()+".jar.unaligned")
2026 Tool(ctx.Config().HostToolPath(ctx, "zip2zip")).
2033 Tool(ctx.Config().HostToolPath(ctx, "zipalign")).
2041 rule.Build(pctx, ctx, "uncompress_dex", "uncompress dex")
2043 ctx.Build(pctx, android.BuildParams{
2052 dexOutputFile = j.dexpreopt(ctx, dexOutputFile)
2056 ctx.InstallFile(android.PathForModuleInstall(ctx, "framework"),
2057 ctx.ModuleName()+".jar", dexOutputFile)
2086 func (*Defaults) GenerateAndroidBuildActions(ctx android.ModuleContext) {