Disable from-text stub build for sdk products

This change introduces `PRODUCT_BUILD_FROM_SOURCE_STUB` product
variable, which is set to true for sdk targets.

Test: m TARGET_PRODUCT=sdk TARGET_RELEASE=trunk_staging sdk and inspect ninja query to verify that stubs are built from source
Bug: 311203379
Change-Id: I99ad04fb6b61eebfeee68f23f8865ab55d69cdbd
diff --git a/core/product.mk b/core/product.mk
index 0d5a07d..3667bb1 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -451,6 +451,8 @@
 
 _product_list_vars += PRODUCT_VALIDATION_CHECKS
 
+_product_single_value_vars += PRODUCT_BUILD_FROM_SOURCE_STUB
+
 .KATI_READONLY := _product_single_value_vars _product_list_vars
 _product_var_list :=$= $(_product_single_value_vars) $(_product_list_vars)
 
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 08e9a65..947f66f 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -397,6 +397,8 @@
 
 $(call add_json_bool, NextReleaseHideFlaggedApi, $(filter true,$(PRODUCT_NEXT_RELEASE_HIDE_FLAGGED_API)))
 
+$(call add_json_bool, BuildFromSourceStub, $(findstring true,$(PRODUCT_BUILD_FROM_SOURCE_STUB) $(BUILD_FROM_SOURCE_STUB)))
+
 $(call json_end)
 
 $(file >$(SOONG_VARIABLES).tmp,$(json_contents))
diff --git a/target/product/mainline_sdk.mk b/target/product/mainline_sdk.mk
index 0ea72cc..cb23bc8 100644
--- a/target/product/mainline_sdk.mk
+++ b/target/product/mainline_sdk.mk
@@ -18,3 +18,5 @@
 PRODUCT_DEVICE := mainline_sdk
 
 PRODUCT_NEXT_RELEASE_HIDE_FLAGGED_API := true
+
+PRODUCT_BUILD_FROM_SOURCE_STUB := true
\ No newline at end of file
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index fff8d4c..b9ccad3 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -30,3 +30,5 @@
 PRODUCT_DEVICE := mainline_x86
 
 PRODUCT_NEXT_RELEASE_HIDE_FLAGGED_API := true
+
+PRODUCT_BUILD_FROM_SOURCE_STUB := true
\ No newline at end of file