Merge changes from topic "docs_circular_dep"

* changes:
  aidl include paths are exported to droiddoc
  filegroup.path is used to specify the include path for aidl files
This commit is contained in:
Treehugger Robot 2019-07-19 11:28:16 +00:00 committed by Gerrit Code Review
commit b1469d53e7
7 changed files with 40 additions and 3 deletions

View file

@ -2277,6 +2277,9 @@ func TestFuzzTarget(t *testing.T) {
ctx.ModuleForTests("fuzz_smoke_test", variant).Rule("cc")
}
func TestAidl(t *testing.T) {
}
func assertString(t *testing.T, got, expected string) {
t.Helper()
if got != expected {

View file

@ -120,6 +120,11 @@ func genAidl(ctx android.ModuleContext, rule *android.RuleBuilder, aidlFile andr
headerBn := outDir.Join(ctx, aidlPackage, "Bn"+shortName+".h")
headerBp := outDir.Join(ctx, aidlPackage, "Bp"+shortName+".h")
baseDir := strings.TrimSuffix(aidlFile.String(), aidlFile.Rel())
if baseDir != "" {
aidlFlags += " -I" + baseDir
}
cmd := rule.Command()
cmd.BuiltTool(ctx, "aidl-cpp").
FlagWithDepFile("-d", depFile).

View file

@ -16,6 +16,7 @@ package cc
import (
"path/filepath"
"strings"
"testing"
)
@ -42,7 +43,8 @@ func TestGen(t *testing.T) {
ctx := testCc(t, `
filegroup {
name: "fg",
srcs: ["b.aidl"],
srcs: ["sub/c.aidl"],
path: "sub",
}
cc_library_shared {
@ -59,6 +61,12 @@ func TestGen(t *testing.T) {
if !inList("-I"+filepath.Dir(aidl.Output.String()), libfoo.flags.GlobalFlags) {
t.Errorf("missing aidl includes in global flags")
}
aidlCommand := aidl.RuleParams.Command
if !strings.Contains(aidlCommand, "-Isub") {
t.Errorf("aidl command for c.aidl should contain \"-Isub\", but was %q", aidlCommand)
}
})
}

View file

@ -265,6 +265,7 @@ func CreateTestContext(bp string, fs map[string][]byte,
"bar.c": nil,
"a.proto": nil,
"b.aidl": nil,
"sub/c.aidl": nil,
"my_include": nil,
"foo.map.txt": nil,
"liba.so": nil,

View file

@ -655,6 +655,7 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
deps.classpath = append(deps.classpath, dep.SdkImplementationJars(ctx, j.sdkVersion())...)
case Dependency:
deps.classpath = append(deps.classpath, dep.HeaderJars()...)
deps.aidlIncludeDirs = append(deps.aidlIncludeDirs, dep.AidlIncludeDirs()...)
case android.SourceFileProducer:
checkProducesJars(ctx, dep)
deps.classpath = append(deps.classpath, dep.Srcs()...)

View file

@ -15,6 +15,8 @@
package java
import (
"strings"
"github.com/google/blueprint"
"android/soong/android"
@ -63,6 +65,10 @@ var (
func genAidl(ctx android.ModuleContext, aidlFile android.Path, aidlFlags string, deps android.Paths) android.Path {
javaFile := android.GenPathWithExt(ctx, "aidl", aidlFile, "java")
depFile := javaFile.String() + ".d"
baseDir := strings.TrimSuffix(aidlFile.String(), aidlFile.Rel())
if baseDir != "" {
aidlFlags += " -I" + baseDir
}
ctx.Build(pctx, android.BuildParams{
Rule: aidl,

View file

@ -192,6 +192,7 @@ func testContext(bp string, fs map[string][]byte) *android.TestContext {
"bar-doc/a.java": nil,
"bar-doc/b.java": nil,
"bar-doc/IFoo.aidl": nil,
"bar-doc/IBar.aidl": nil,
"bar-doc/known_oj_tags.txt": nil,
"external/doclava/templates-sdk": nil,
@ -754,11 +755,17 @@ func TestDroiddoc(t *testing.T) {
name: "droiddoc-templates-sdk",
path: ".",
}
filegroup {
name: "bar-doc-aidl-srcs",
srcs: ["bar-doc/IBar.aidl"],
path: "bar-doc",
}
droiddoc {
name: "bar-doc",
srcs: [
"bar-doc/*.java",
"bar-doc/IFoo.aidl",
":bar-doc-aidl-srcs",
],
exclude_srcs: [
"bar-doc/b.java"
@ -786,8 +793,14 @@ func TestDroiddoc(t *testing.T) {
for _, i := range inputs {
javaSrcs = append(javaSrcs, i.Base())
}
if len(javaSrcs) != 2 || javaSrcs[0] != "a.java" || javaSrcs[1] != "IFoo.java" {
t.Errorf("inputs of bar-doc must be []string{\"a.java\", \"IFoo.java\", but was %#v.", javaSrcs)
if len(javaSrcs) != 3 || javaSrcs[0] != "a.java" || javaSrcs[1] != "IFoo.java" || javaSrcs[2] != "IBar.java" {
t.Errorf("inputs of bar-doc must be []string{\"a.java\", \"IFoo.java\", \"IBar.java\", but was %#v.", javaSrcs)
}
aidlRule := ctx.ModuleForTests("bar-doc", "android_common").Output(inputs[2].String())
aidlFlags := aidlRule.Args["aidlFlags"]
if !strings.Contains(aidlFlags, "-Ibar-doc") {
t.Errorf("aidl flags for IBar.aidl should contain \"-Ibar-doc\", but was %q", aidlFlags)
}
}