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

Commit 52943649 authored by Anton Hansson's avatar Anton Hansson Committed by Automerger Merge Worker
Browse files

Merge "Correct link type for module stubs" into rvc-dev am: 1733d6ac

Change-Id: If98d5032c131796005e2f79871f59393f14e21ff
parents 209c9950 1733d6ac
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -853,6 +853,10 @@ func (m *Module) getLinkType(name string) (ret linkType, stubs bool) {
		return javaSystem, true
	}

	if stub, linkType := moduleStubLinkType(name); stub {
		return linkType, true
	}

	ver := m.sdkVersion()
	switch ver.kind {
	case sdkCore:
+18 −0
Original line number Diff line number Diff line
@@ -1558,6 +1558,24 @@ func (s *frameworkModulesNamingScheme) apiModuleName(scope *apiScope, baseName s

var _ sdkLibraryComponentNamingScheme = (*frameworkModulesNamingScheme)(nil)

func moduleStubLinkType(name string) (stub bool, ret linkType) {
	// This suffix-based approach is fragile and could potentially mis-trigger.
	// TODO(b/155164730): Clean this up when modules no longer reference sdk_lib stubs directly.
	if strings.HasSuffix(name, ".stubs.public") || strings.HasSuffix(name, "-stubs-publicapi") {
		return true, javaSdk
	}
	if strings.HasSuffix(name, ".stubs.system") || strings.HasSuffix(name, "-stubs-systemapi") {
		return true, javaSystem
	}
	if strings.HasSuffix(name, ".stubs.module_lib") || strings.HasSuffix(name, "-stubs-module_libs_api") {
		return true, javaModule
	}
	if strings.HasSuffix(name, ".stubs.test") {
		return true, javaSystem
	}
	return false, javaPlatform
}

// java_sdk_library is a special Java library that provides optional platform APIs to apps.
// In practice, it can be viewed as a combination of several modules: 1) stubs library that clients
// are linked against to, 2) droiddoc module that internally generates API stubs source files,