Use soong_javac_wrapper in soong javac compiles
Test: m checkbuild Change-Id: I0f9ff0a719ac550a011c2878fc51595dc3427aed
This commit is contained in:
@@ -17,6 +17,11 @@
|
|||||||
//
|
//
|
||||||
// It also hides the unhelpful and unhideable "warning there is a warning"
|
// It also hides the unhelpful and unhideable "warning there is a warning"
|
||||||
// messages.
|
// messages.
|
||||||
|
//
|
||||||
|
// Each javac build statement has an order-only dependency on the
|
||||||
|
// soong_javac_wrapper tool, which means the javac command will not be rerun
|
||||||
|
// if soong_javac_wrapper changes. That means that soong_javac_wrapper must
|
||||||
|
// not do anything that will affect the results of the build.
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@@ -39,14 +39,15 @@ var (
|
|||||||
javac = pctx.AndroidGomaStaticRule("javac",
|
javac = pctx.AndroidGomaStaticRule("javac",
|
||||||
blueprint.RuleParams{
|
blueprint.RuleParams{
|
||||||
Command: `rm -rf "$outDir" "$annoDir" && mkdir -p "$outDir" "$annoDir" && ` +
|
Command: `rm -rf "$outDir" "$annoDir" && mkdir -p "$outDir" "$annoDir" && ` +
|
||||||
`${config.JavacWrapper}${config.JavacCmd} ${config.JavacHeapFlags} ${config.CommonJdkFlags} ` +
|
`${config.SoongJavacWrapper} ${config.JavacWrapper}${config.JavacCmd} ${config.JavacHeapFlags} ${config.CommonJdkFlags} ` +
|
||||||
`$javacFlags $sourcepath $bootClasspath $classpath ` +
|
`$javacFlags $sourcepath $bootClasspath $classpath ` +
|
||||||
`-source $javaVersion -target $javaVersion ` +
|
`-source $javaVersion -target $javaVersion ` +
|
||||||
`-d $outDir -s $annoDir @$out.rsp && ` +
|
`-d $outDir -s $annoDir @$out.rsp && ` +
|
||||||
`${config.SoongZipCmd} -jar -o $out -C $outDir -D $outDir`,
|
`${config.SoongZipCmd} -jar -o $out -C $outDir -D $outDir`,
|
||||||
CommandDeps: []string{"${config.JavacCmd}", "${config.SoongZipCmd}"},
|
CommandDeps: []string{"${config.JavacCmd}", "${config.SoongZipCmd}"},
|
||||||
Rspfile: "$out.rsp",
|
CommandOrderOnly: []string{"${config.SoongJavacWrapper}"},
|
||||||
RspfileContent: "$in",
|
Rspfile: "$out.rsp",
|
||||||
|
RspfileContent: "$in",
|
||||||
},
|
},
|
||||||
"javacFlags", "sourcepath", "bootClasspath", "classpath", "outDir", "annoDir", "javaVersion")
|
"javacFlags", "sourcepath", "bootClasspath", "classpath", "outDir", "annoDir", "javaVersion")
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ var (
|
|||||||
errorprone = pctx.AndroidStaticRule("errorprone",
|
errorprone = pctx.AndroidStaticRule("errorprone",
|
||||||
blueprint.RuleParams{
|
blueprint.RuleParams{
|
||||||
Command: `rm -rf "$outDir" "$annoDir" && mkdir -p "$outDir" "$annoDir" && ` +
|
Command: `rm -rf "$outDir" "$annoDir" && mkdir -p "$outDir" "$annoDir" && ` +
|
||||||
`${config.ErrorProneCmd} ` +
|
`${config.SoongJavacWrapper} ${config.ErrorProneCmd} ` +
|
||||||
`$javacFlags $sourcepath $bootClasspath $classpath ` +
|
`$javacFlags $sourcepath $bootClasspath $classpath ` +
|
||||||
`-source $javaVersion -target $javaVersion ` +
|
`-source $javaVersion -target $javaVersion ` +
|
||||||
`-d $outDir -s $annoDir @$out.rsp && ` +
|
`-d $outDir -s $annoDir @$out.rsp && ` +
|
||||||
@@ -80,8 +81,9 @@ var (
|
|||||||
"${config.ErrorProneJar}",
|
"${config.ErrorProneJar}",
|
||||||
"${config.SoongZipCmd}",
|
"${config.SoongZipCmd}",
|
||||||
},
|
},
|
||||||
Rspfile: "$out.rsp",
|
CommandOrderOnly: []string{"${config.SoongJavacWrapper}"},
|
||||||
RspfileContent: "$in",
|
Rspfile: "$out.rsp",
|
||||||
|
RspfileContent: "$in",
|
||||||
},
|
},
|
||||||
"javacFlags", "sourcepath", "bootClasspath", "classpath", "outDir", "annoDir", "javaVersion")
|
"javacFlags", "sourcepath", "bootClasspath", "classpath", "outDir", "annoDir", "javaVersion")
|
||||||
|
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
_ "github.com/google/blueprint/bootstrap"
|
_ "github.com/google/blueprint/bootstrap"
|
||||||
@@ -76,12 +75,14 @@ func init() {
|
|||||||
pctx.SourcePathVariable("JrtFsJar", "${JavaHome}/lib/jrt-fs.jar")
|
pctx.SourcePathVariable("JrtFsJar", "${JavaHome}/lib/jrt-fs.jar")
|
||||||
|
|
||||||
pctx.SourcePathVariable("JarArgsCmd", "build/soong/scripts/jar-args.sh")
|
pctx.SourcePathVariable("JarArgsCmd", "build/soong/scripts/jar-args.sh")
|
||||||
pctx.StaticVariable("SoongZipCmd", filepath.Join("${bootstrap.ToolDir}", "soong_zip"))
|
pctx.HostBinToolVariable("SoongZipCmd", "soong_zip")
|
||||||
pctx.StaticVariable("MergeZipsCmd", filepath.Join("${bootstrap.ToolDir}", "merge_zips"))
|
pctx.HostBinToolVariable("MergeZipsCmd", "merge_zips")
|
||||||
pctx.HostBinToolVariable("DxCmd", "dx")
|
pctx.HostBinToolVariable("DxCmd", "dx")
|
||||||
pctx.HostJavaToolVariable("JarjarCmd", "jarjar.jar")
|
pctx.HostJavaToolVariable("JarjarCmd", "jarjar.jar")
|
||||||
pctx.HostJavaToolVariable("DesugarJar", "desugar.jar")
|
pctx.HostJavaToolVariable("DesugarJar", "desugar.jar")
|
||||||
|
|
||||||
|
pctx.HostBinToolVariable("SoongJavacWrapper", "soong_javac_wrapper")
|
||||||
|
|
||||||
pctx.VariableFunc("JavacWrapper", func(config interface{}) (string, error) {
|
pctx.VariableFunc("JavacWrapper", func(config interface{}) (string, error) {
|
||||||
if override := config.(android.Config).Getenv("JAVAC_WRAPPER"); override != "" {
|
if override := config.(android.Config).Getenv("JAVAC_WRAPPER"); override != "" {
|
||||||
return override + " ", nil
|
return override + " ", nil
|
||||||
|
@@ -56,4 +56,6 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
|
|||||||
ctx.Strict("JLINK", "${JlinkCmd}")
|
ctx.Strict("JLINK", "${JlinkCmd}")
|
||||||
ctx.Strict("JMOD", "${JmodCmd}")
|
ctx.Strict("JMOD", "${JmodCmd}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx.Strict("SOONG_JAVAC_WRAPPER", "${SoongJavacWrapper}")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user