Add No_dist property

For the sysprop apis, we don't need dist. So the No_dist property is
added for it.

Bug: 132448761
Test: m -j dist
Change-Id: I51c6a6b87ab9dc90b6825c0d4d414e958dd7b265
diff --git a/java/sdk_library.go b/java/sdk_library.go
index 72c5cfc..5b65c0c 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -126,6 +126,9 @@
 	// If set to true, the path of dist files is apistubs/core. Defaults to false.
 	Core_lib *bool
 
+	// don't create dist rules.
+	No_dist *bool `blueprint:"mutated"`
+
 	// TODO: determines whether to create HTML doc or not
 	//Html_doc *bool
 }
@@ -212,52 +215,54 @@
 		android.WriteAndroidMkData(w, data)
 
 		module.Library.AndroidMkHostDex(w, name, data)
-		// Create a phony module that installs the impl library, for the case when this lib is
-		// in PRODUCT_PACKAGES.
-		owner := module.ModuleBase.Owner()
-		if owner == "" {
-			if Bool(module.sdkLibraryProperties.Core_lib) {
-				owner = "core"
-			} else {
-				owner = "android"
+		if !Bool(module.sdkLibraryProperties.No_dist) {
+			// Create a phony module that installs the impl library, for the case when this lib is
+			// in PRODUCT_PACKAGES.
+			owner := module.ModuleBase.Owner()
+			if owner == "" {
+				if Bool(module.sdkLibraryProperties.Core_lib) {
+					owner = "core"
+				} else {
+					owner = "android"
+				}
 			}
-		}
-		// Create dist rules to install the stubs libs to the dist dir
-		if len(module.publicApiStubsPath) == 1 {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.publicApiStubsImplPath.Strings()[0]+
-				":"+path.Join("apistubs", owner, "public",
-				module.BaseModuleName()+".jar")+")")
-		}
-		if len(module.systemApiStubsPath) == 1 {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.systemApiStubsImplPath.Strings()[0]+
-				":"+path.Join("apistubs", owner, "system",
-				module.BaseModuleName()+".jar")+")")
-		}
-		if len(module.testApiStubsPath) == 1 {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.testApiStubsImplPath.Strings()[0]+
-				":"+path.Join("apistubs", owner, "test",
-				module.BaseModuleName()+".jar")+")")
-		}
-		if module.publicApiFilePath != nil {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.publicApiFilePath.String()+
-				":"+path.Join("apistubs", owner, "public", "api",
-				module.BaseModuleName()+".txt")+")")
-		}
-		if module.systemApiFilePath != nil {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.systemApiFilePath.String()+
-				":"+path.Join("apistubs", owner, "system", "api",
-				module.BaseModuleName()+".txt")+")")
-		}
-		if module.testApiFilePath != nil {
-			fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
-				module.testApiFilePath.String()+
-				":"+path.Join("apistubs", owner, "test", "api",
-				module.BaseModuleName()+".txt")+")")
+			// Create dist rules to install the stubs libs to the dist dir
+			if len(module.publicApiStubsPath) == 1 {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.publicApiStubsImplPath.Strings()[0]+
+					":"+path.Join("apistubs", owner, "public",
+					module.BaseModuleName()+".jar")+")")
+			}
+			if len(module.systemApiStubsPath) == 1 {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.systemApiStubsImplPath.Strings()[0]+
+					":"+path.Join("apistubs", owner, "system",
+					module.BaseModuleName()+".jar")+")")
+			}
+			if len(module.testApiStubsPath) == 1 {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.testApiStubsImplPath.Strings()[0]+
+					":"+path.Join("apistubs", owner, "test",
+					module.BaseModuleName()+".jar")+")")
+			}
+			if module.publicApiFilePath != nil {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.publicApiFilePath.String()+
+					":"+path.Join("apistubs", owner, "public", "api",
+					module.BaseModuleName()+".txt")+")")
+			}
+			if module.systemApiFilePath != nil {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.systemApiFilePath.String()+
+					":"+path.Join("apistubs", owner, "system", "api",
+					module.BaseModuleName()+".txt")+")")
+			}
+			if module.testApiFilePath != nil {
+				fmt.Fprintln(w, "$(call dist-for-goals,sdk win_sdk,"+
+					module.testApiFilePath.String()+
+					":"+path.Join("apistubs", owner, "test", "api",
+					module.BaseModuleName()+".txt")+")")
+			}
 		}
 	}
 	return data
@@ -641,6 +646,10 @@
 	}
 }
 
+func (module *SdkLibrary) SetNoDist() {
+	module.sdkLibraryProperties.No_dist = proptools.BoolPtr(true)
+}
+
 var javaSdkLibrariesKey = android.NewOnceKey("javaSdkLibraries")
 
 func javaSdkLibraries(config android.Config) *[]string {