SDK: don't generate empty codename line in source.properties.
SDK Bug: b/6490860
Change-Id: I1eb7090eedca961a2a71a18e5dcef68e6cbf7163
diff --git a/build/Android.mk b/build/Android.mk
index 730f6a4..09a83ea 100644
--- a/build/Android.mk
+++ b/build/Android.mk
@@ -12,25 +12,25 @@
# Rule to convert a source.prop template into the desired source.property
# Rewritten variables:
-# - ${PLATFORM_VERSION} e.g. "1.0"
-# - ${PLATFORM_SDK_VERSION} e.g. "3", aka the API level
-# - ${PLATFORM_VERSION_CODENAME} e.g. "REL" (transformed into "") or "Cupcake"
-$(HOST_OUT)/development/sdk/%_source.properties : $(TOPDIR)development/sdk/%_source.prop_template
+# - ${PLATFORM_VERSION} e.g. "1.0".
+# - ${PLATFORM_SDK_VERSION} e.g. "3", aka the API level.
+# - ${PLATFORM_VERSION_CODENAME} e.g. "REL" (transformed into "") or "Cupcake".
+# - if there's no codename, the codename line is removed.
+# $1 is the directory to process; all development/$1/*_source.prop_template files will
+# be converted.
+define convert-source-prop-template
+$(HOST_OUT)/development/$(1)/%_source.properties : $(TOPDIR)development/$(1)/%_source.prop_template
@echo Generate $@
$(hide) mkdir -p $(dir $@)
$(hide) sed -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
-e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
-e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
$< > $@
+ $(hide) sed --in-place -e '/^AndroidVersion.CodeName=\s*$$/d' $@
+endef
-$(HOST_OUT)/development/samples/%_source.properties : $(TOPDIR)development/samples/%_source.prop_template
- @echo Generate $@
- $(hide) mkdir -p $(dir $@)
- $(hide) sed -e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
- -e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
- -e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
- $< > $@
-
+$(call convert-source-prop-template,sdk)
+$(call convert-source-prop-template,samples)
# ===== Android Support/Compatibility Library =====