Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 241cd374 authored by Sundong Ahn's avatar Sundong Ahn
Browse files

Change classpath for droiddoc

When the module type is SdkLibraryDependency, the classpath has been
gotten from headerJar
Becuase droiddoc uses src files when it builds, we should change to use
ImplementationJars instead of headerJar.

Bug: 77577799
Test: make -j

Change-Id: I1a072be69d7edff5636ea80af700be7796c3b0fc
parent 0a4cfbc2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -485,7 +485,7 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
				} else if sdkVersion == "" {
					linkType = javaPlatform
				}
				deps.classpath = append(deps.classpath, dep.HeaderJars(linkType)...)
				deps.classpath = append(deps.classpath, dep.ImplementationJars(linkType)...)
			case android.SourceFileProducer:
				checkProducesJars(ctx, dep)
				deps.classpath = append(deps.classpath, dep.Srcs()...)
+1 −0
Original line number Diff line number Diff line
@@ -313,6 +313,7 @@ type Dependency interface {

type SdkLibraryDependency interface {
	HeaderJars(linkType linkType) android.Paths
	ImplementationJars(linkType linkType) android.Paths
}

type SrcDependency interface {
+21 −0
Original line number Diff line number Diff line
@@ -129,6 +129,11 @@ type sdkLibrary struct {
	systemApiStubsPath android.Paths
	testApiStubsPath   android.Paths
	implLibPath        android.Paths

	publicApiStubsImplPath android.Paths
	systemApiStubsImplPath android.Paths
	testApiStubsImplPath   android.Paths
	implLibImplPath        android.Paths
}

func (module *sdkLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
@@ -151,12 +156,16 @@ func (module *sdkLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext)
			switch tag {
			case publicApiStubsTag:
				module.publicApiStubsPath = lib.HeaderJars()
				module.publicApiStubsImplPath = lib.ImplementationJars()
			case systemApiStubsTag:
				module.systemApiStubsPath = lib.HeaderJars()
				module.systemApiStubsImplPath = lib.ImplementationJars()
			case testApiStubsTag:
				module.testApiStubsPath = lib.HeaderJars()
				module.testApiStubsImplPath = lib.ImplementationJars()
			case implLibTag:
				module.implLibPath = lib.HeaderJars()
				module.implLibImplPath = lib.ImplementationJars()
			default:
				ctx.ModuleErrorf("depends on module %q of unknown tag %q", otherName, tag)
			}
@@ -557,6 +566,18 @@ func (module *sdkLibrary) HeaderJars(linkType linkType) android.Paths {
	}
}

// to satisfy SdkLibraryDependency interface
func (module *sdkLibrary) ImplementationJars(linkType linkType) android.Paths {
	// This module is just a wrapper for the stubs.
	if linkType == javaSystem {
		return module.systemApiStubsImplPath
	} else if linkType == javaPlatform {
		return module.implLibImplPath
	} else {
		return module.publicApiStubsImplPath
	}
}

func javaSdkLibraries(config android.Config) *[]string {
	return config.Once("javaSdkLibraries", func() interface{} {
		return &[]string{}