Revert "Improve tracking of exported sdk libraries"

Revert submission 11569833

Reason for revert:  Broke presubmit: b/157231582
Reverted Changes:
Ia99def91e:Improve tracking of exported sdk libraries
If91b4d106:java_sdk_library: Do not expose stubs implementati...
Id6d76e56c:java_sdk_library: Access outputs using tags

Change-Id: I3a07d412e795df512c430e4d2ed221f4d17e904a
diff --git a/java/sdk_library.go b/java/sdk_library.go
index 0334f80..5efb4d0 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -543,18 +543,12 @@
 	namingScheme sdkLibraryComponentNamingScheme
 
 	commonProperties commonToSdkLibraryAndImportProperties
-
-	// Functionality related to this being used as a component of a java_sdk_library.
-	EmbeddableSdkLibraryComponent
 }
 
 func (c *commonToSdkLibraryAndImport) initCommon(moduleBase *android.ModuleBase) {
 	c.moduleBase = moduleBase
 
 	moduleBase.AddProperties(&c.commonProperties)
-
-	// Initialize this as an sdk library component.
-	c.initSdkLibraryComponent(moduleBase)
 }
 
 func (c *commonToSdkLibraryAndImport) initCommonAfterDefaultsApplied(ctx android.DefaultableHookContext) bool {
@@ -569,9 +563,6 @@
 		return false
 	}
 
-	// Use the name specified in the module definition as the owner.
-	c.sdkLibraryComponentProperties.SdkLibraryToImplicitlyTrack = proptools.StringPtr(c.moduleBase.BaseModuleName())
-
 	return true
 }
 
@@ -737,84 +728,6 @@
 	return paths.stubsHeaderPath
 }
 
-func (c *commonToSdkLibraryAndImport) sdkComponentPropertiesForChildLibrary() interface{} {
-	componentProps := &struct {
-		SdkLibraryToImplicitlyTrack *string
-	}{
-		// Mark the stubs library as being components of this java_sdk_library so that
-		// any app that includes code which depends (directly or indirectly) on the stubs
-		// library will have the appropriate <uses-library> invocation inserted into its
-		// manifest if necessary.
-		SdkLibraryToImplicitlyTrack: proptools.StringPtr(c.moduleBase.BaseModuleName()),
-	}
-
-	return componentProps
-}
-
-// Properties related to the use of a module as an component of a java_sdk_library.
-type SdkLibraryComponentProperties struct {
-
-	// The name of the java_sdk_library/_import to add to a <uses-library> entry
-	// in the AndroidManifest.xml of any Android app that includes code that references
-	// this module. If not set then no java_sdk_library/_import is tracked.
-	SdkLibraryToImplicitlyTrack *string `blueprint:"mutated"`
-}
-
-// Structure to be embedded in a module struct that needs to support the
-// SdkLibraryComponentDependency interface.
-type EmbeddableSdkLibraryComponent struct {
-	sdkLibraryComponentProperties SdkLibraryComponentProperties
-}
-
-func (e *EmbeddableSdkLibraryComponent) initSdkLibraryComponent(moduleBase *android.ModuleBase) {
-	moduleBase.AddProperties(&e.sdkLibraryComponentProperties)
-}
-
-// to satisfy SdkLibraryComponentDependency
-func (e *EmbeddableSdkLibraryComponent) OptionalImplicitSdkLibrary() []string {
-	if e.sdkLibraryComponentProperties.SdkLibraryToImplicitlyTrack != nil {
-		return []string{*e.sdkLibraryComponentProperties.SdkLibraryToImplicitlyTrack}
-	}
-	return nil
-}
-
-// Implemented by modules that are (or possibly could be) a component of a java_sdk_library
-// (including the java_sdk_library) itself.
-type SdkLibraryComponentDependency interface {
-	// The optional name of the sdk library that should be implicitly added to the
-	// AndroidManifest of an app that contains code which references the sdk library.
-	//
-	// Returns an array containing 0 or 1 items rather than a *string to make it easier
-	// to append this to the list of exported sdk libraries.
-	OptionalImplicitSdkLibrary() []string
-}
-
-// Make sure that all the module types that are components of java_sdk_library/_import
-// and which can be referenced (directly or indirectly) from an android app implement
-// the SdkLibraryComponentDependency interface.
-var _ SdkLibraryComponentDependency = (*Library)(nil)
-var _ SdkLibraryComponentDependency = (*Import)(nil)
-var _ SdkLibraryComponentDependency = (*SdkLibrary)(nil)
-var _ SdkLibraryComponentDependency = (*sdkLibraryImport)(nil)
-
-// Provides access to sdk_version related header and implentation jars.
-type SdkLibraryDependency interface {
-	SdkLibraryComponentDependency
-
-	// Get the header jars appropriate for the supplied sdk_version.
-	//
-	// These are turbine generated jars so they only change if the externals of the
-	// class changes but it does not contain and implementation or JavaDoc.
-	SdkHeaderJars(ctx android.BaseModuleContext, sdkVersion sdkSpec) android.Paths
-
-	// Get the implementation jars appropriate for the supplied sdk version.
-	//
-	// These are either the implementation jar for the whole sdk library or the implementation
-	// jars for the stubs. The latter should only be needed when generating JavaDoc as otherwise
-	// they are identical to the corresponding header jars.
-	SdkImplementationJars(ctx android.BaseModuleContext, sdkVersion sdkSpec) android.Paths
-}
-
 type SdkLibrary struct {
 	Library
 
@@ -1065,7 +978,7 @@
 		props.Dist.Tag = proptools.StringPtr(".jar")
 	}
 
-	mctx.CreateModule(LibraryFactory, &props, module.sdkComponentPropertiesForChildLibrary())
+	mctx.CreateModule(LibraryFactory, &props)
 }
 
 // Creates a droidstubs module that creates stubs source files from the given full source
@@ -1408,8 +1321,6 @@
 		&module.protoProperties,
 	)
 
-	module.initSdkLibraryComponent(&module.ModuleBase)
-
 	module.properties.Installable = proptools.BoolPtr(true)
 	module.deviceProperties.IsSDKLibrary = true
 }
@@ -1658,8 +1569,7 @@
 
 	// The imports are preferred if the java_sdk_library_import is preferred.
 	props.Prefer = proptools.BoolPtr(module.prebuilt.Prefer())
-
-	mctx.CreateModule(ImportFactory, &props, module.sdkComponentPropertiesForChildLibrary())
+	mctx.CreateModule(ImportFactory, &props)
 }
 
 func (module *sdkLibraryImport) createPrebuiltStubsSources(mctx android.DefaultableHookContext, apiScope *apiScope, scopeProperties *sdkLibraryScopeProperties) {