Pass filename mappings to C++ and Java extractors.
Android builds by default put artifacts into out/ subdirectory of the source tree, causing the extractor to record their names as relative. The indexer considers such files as sources, which is wrong. Fortunately, the extractor can be fed a set of filename rewriting rules (see build/tools/vnames.json). Also, undo previous unsuccessful attempt use to absolute path for the output directory to distinguish between source code and artifacts. Bug: 141385476 Test: run the build, inspect compilation units of the kzip file Change-Id: I89ec3aed8fd14f43ea6e0b226d54f643346f6125
This commit is contained in:
@@ -64,6 +64,7 @@ var (
|
||||
|
||||
_ = pctx.VariableFunc("kytheCorpus",
|
||||
func(ctx android.PackageVarContext) string { return ctx.Config().XrefCorpusName() })
|
||||
_ = pctx.SourcePathVariable("kytheVnames", "build/soong/vnames.json")
|
||||
// Run it with -add-opens=java.base/java.nio=ALL-UNNAMED to avoid JDK9's warning about
|
||||
// "Illegal reflective access by com.google.protobuf.Utf8$UnsafeProcessor ...
|
||||
// to field java.nio.Buffer.address"
|
||||
@@ -74,6 +75,7 @@ var (
|
||||
`( [ ! -s $srcJarDir/list -a ! -s $out.rsp ] || ` +
|
||||
`KYTHE_ROOT_DIRECTORY=. KYTHE_OUTPUT_FILE=$out ` +
|
||||
`KYTHE_CORPUS=${kytheCorpus} ` +
|
||||
`KYTHE_VNAMES=${kytheVnames} ` +
|
||||
`${config.SoongJavacWrapper} ${config.JavaCmd} ` +
|
||||
`--add-opens=java.base/java.nio=ALL-UNNAMED ` +
|
||||
`-jar ${config.JavaKytheExtractorJar} ` +
|
||||
@@ -84,6 +86,7 @@ var (
|
||||
CommandDeps: []string{
|
||||
"${config.JavaCmd}",
|
||||
"${config.JavaKytheExtractorJar}",
|
||||
"${kytheVnames}",
|
||||
"${config.ZipSyncCmd}",
|
||||
},
|
||||
CommandOrderOnly: []string{"${config.SoongJavacWrapper}"},
|
||||
|
Reference in New Issue
Block a user