diff --git a/build/tasks/apicheck.mk b/build/tasks/apicheck.mk
index e5977ac..6b2c85b 100644
--- a/build/tasks/apicheck.mk
+++ b/build/tasks/apicheck.mk
@@ -18,75 +18,75 @@
 #
 
 # skip api check for PDK buid
-ifeq (,$(filter true, $(WITHOUT_CHECK_API) $(TARGET_BUILD_PDK) $(TARGET_DISABLE_CMSDK)))
+ifeq (,$(filter true, $(WITHOUT_CHECK_API) $(TARGET_BUILD_PDK) $(TARGET_DISABLE_LINEAGE_SDK)))
 
-.PHONY: checkapi-cm
+.PHONY: checkapi-lineage
 
 # Run the checkapi rules by default.
-droidcore: checkapi-cm
+droidcore: checkapi-lineage
 
 # Validate against previous release platform sdk version api text within prebuilts
-cm_last_released_sdk_version := $(CM_PLATFORM_SDK_VERSION)
+lineage_last_released_sdk_version := $(LINEAGE_PLATFORM_SDK_VERSION)
 
-.PHONY: check-cm-public-api
-checkapi-cm : check-cm-public-api
+.PHONY: check-lineage-public-api
+checkapi-lineage : check-lineage-public-api
 
-.PHONY: update-cm-api
+.PHONY: update-lineage-api
 
-# INTERNAL_CM_PLATFORM_API_FILE is the one build by droiddoc.
-# Note that since INTERNAL_CM_PLATFORM_API_FILE  is the byproduct of api-stubs module,
-# (See vendor/cmsdk/Android.mk)
+# INTERNAL_LINEAGE_PLATFORM_API_FILE is the one build by droiddoc.
+# Note that since INTERNAL_LINEAGE_PLATFORM_API_FILE  is the byproduct of api-stubs module,
+# (See lineage-sdk/Android.mk)
 # we need to add api-stubs as additional dependency of the api check.
 
-$(INTERNAL_CM_PLATFORM_API_FILE): cm-api-stubs-docs
+$(INTERNAL_LINEAGE_PLATFORM_API_FILE): lineage-api-stubs-docs
 
 # Check that the API we're building hasn't broken the last-released
 # SDK version.
 $(eval $(call check-api, \
-    checkpublicapi-cm-last, \
-    $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt, \
-    $(INTERNAL_CM_PLATFORM_API_FILE), \
-    $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \
+    checkpublicapi-lineage-last, \
+    $(LINEAGE_SRC_API_DIR)/$(lineage_last_released_sdk_version).txt, \
+    $(INTERNAL_LINEAGE_PLATFORM_API_FILE), \
+    $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE), \
     -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
     -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
     -error 16 -error 17 -error 18 , \
-    cat $(FRAMEWORK_CM_API_NEEDS_UPDATE_TEXT), \
-    check-cm-public-api, \
-    $(call doc-timestamp-for,cm-api-stubs) \
+    cat $(FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT), \
+    check-lineage-public-api, \
+    $(call doc-timestamp-for,lineage-api-stubs) \
     ))
 
 # Check that the API we're building hasn't changed from the not-yet-released
 # SDK version.
 $(eval $(call check-api, \
-    checkpublicapi-cm-current, \
-    $(FRAMEWORK_CM_PLATFORM_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_API_FILE), \
-    $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \
+    checkpublicapi-lineage-current, \
+    $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_API_FILE), \
+    $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE), \
     -error 2 -error 3 -error 4 -error 5 -error 6 \
     -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
     -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
     -error 25 -error 26 -error 27, \
-    cat $(FRAMEWORK_CM_API_NEEDS_UPDATE_TEXT), \
-    check-cm-public-api, \
-    $(call doc-timestamp-for,cm-api-stubs) \
+    cat $(FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT), \
+    check-lineage-public-api, \
+    $(call doc-timestamp-for,lineage-api-stubs) \
     ))
 
-.PHONY: update-cm-public-api
-update-cm-public-api: $(INTERNAL_CM_PLATFORM_API_FILE) | $(ACP)
-	@echo "Copying cm_current.txt"
-	$(hide) $(ACP) $(INTERNAL_CM_PLATFORM_API_FILE) $(FRAMEWORK_CM_PLATFORM_API_FILE)
-	@echo "Copying cm_removed.txt"
-	$(hide) $(ACP) $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE) $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE)
+.PHONY: update-lineage-public-api
+update-lineage-public-api: $(INTERNAL_LINEAGE_PLATFORM_API_FILE) | $(ACP)
+	@echo "Copying lineage_current.txt"
+	$(hide) $(ACP) $(INTERNAL_LINEAGE_PLATFORM_API_FILE) $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE)
+	@echo "Copying lineage_removed.txt"
+	$(hide) $(ACP) $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE) $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE)
 
-update-cm-api : update-cm-public-api
+update-lineage-api : update-lineage-public-api
 
-.PHONY: update-cm-prebuilts-latest-public-api
-current_sdk_release_text_file := $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt
+.PHONY: update-lineage-prebuilts-latest-public-api
+current_sdk_release_text_file := $(LINEAGE_SRC_API_DIR)/$(lineage_last_released_sdk_version).txt
 
-update-cm-prebuilts-latest-public-api: $(FRAMEWORK_CM_PLATFORM_API_FILE) | $(ACP)
-	@echo "Publishing cm_current.txt as latest API release"
-	$(hide) $(ACP) $(FRAMEWORK_CM_PLATFORM_API_FILE) $(current_sdk_release_text_file)
+update-lineage-prebuilts-latest-public-api: $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE) | $(ACP)
+	@echo "Publishing lineage_current.txt as latest API release"
+	$(hide) $(ACP) $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE) $(current_sdk_release_text_file)
 
 endif
diff --git a/build/tasks/generate_lineage_sdk_coverage.mk b/build/tasks/generate_lineage_sdk_coverage.mk
index 38b70b1..c4f15c9 100644
--- a/build/tasks/generate_lineage_sdk_coverage.mk
+++ b/build/tasks/generate_lineage_sdk_coverage.mk
@@ -15,63 +15,63 @@
 # limitations under the License.
 #
 
-# Makefile for producing cmsdk coverage reports.
-# Run "make cmsdk-test-coverage" in the $ANDROID_BUILD_TOP directory.
+# Makefile for producing lineage sdk coverage reports.
+# Run "make lineage-sdk-test-coverage" in the $ANDROID_BUILD_TOP directory.
 
-cmsdk_api_coverage_exe := $(HOST_OUT_EXECUTABLES)/cmsdk-api-coverage
+lineage_sdk_api_coverage_exe := $(HOST_OUT_EXECUTABLES)/lineage-sdk-api-coverage
 dexdeps_exe := $(HOST_OUT_EXECUTABLES)/dexdeps
 
-coverage_out := $(HOST_OUT)/cmsdk-api-coverage
+coverage_out := $(HOST_OUT)/lineage-sdk-api-coverage
 
-api_text_description := vendor/cmsdk/api/cm_current.txt
+api_text_description := lineage-sdk/api/lineage_current.txt
 api_xml_description := $(coverage_out)/api.xml
 $(api_xml_description) : $(api_text_description) $(APICHECK)
 	$(hide) echo "Converting API file to XML: $@"
 	$(hide) mkdir -p $(dir $@)
 	$(hide) $(APICHECK_COMMAND) -convert2xml $< $@
 
-cmsdk-test-coverage-report := $(coverage_out)/cmsdk-test-coverage.html
+lineage-sdk-test-coverage-report := $(coverage_out)/lineage-sdk-test-coverage.html
 
-cmsdk_tests_apk := $(call intermediates-dir-for,APPS,CMPlatformTests)/package.apk
-cmsettingsprovider_tests_apk := $(call intermediates-dir-for,APPS,CMSettingsProviderTests)/package.apk
-cmsdk_api_coverage_dependencies := $(cmsdk_api_coverage_exe) $(dexdeps_exe) $(api_xml_description)
+lineage_sdk_tests_apk := $(call intermediates-dir-for,APPS,CMPlatformTests)/package.apk
+lineagesettingsprovider_tests_apk := $(call intermediates-dir-for,APPS,LineageSettingsProviderTests)/package.apk
+lineage_sdk_api_coverage_dependencies := $(lineage_sdk_api_coverage_exe) $(dexdeps_exe) $(api_xml_description)
 
-$(cmsdk-test-coverage-report): PRIVATE_TEST_CASES := $(cmsdk_tests_apk) $(cmsettingsprovider_tests_apk)
-$(cmsdk-test-coverage-report): PRIVATE_CMSDK_API_COVERAGE_EXE := $(cmsdk_api_coverage_exe)
-$(cmsdk-test-coverage-report): PRIVATE_DEXDEPS_EXE := $(dexdeps_exe)
-$(cmsdk-test-coverage-report): PRIVATE_API_XML_DESC := $(api_xml_description)
-$(cmsdk-test-coverage-report): $(cmsdk_tests_apk) $(cmsettingsprovider_tests_apk) $(cmsdk_api_coverage_dependencies) | $(ACP)
-	$(call generate-cm-coverage-report,"CMSDK API Coverage Report",\
+$(lineage-sdk-test-coverage-report): PRIVATE_TEST_CASES := $(lineage_sdk_tests_apk) $(lineagesettingsprovider_tests_apk)
+$(lineage-sdk-test-coverage-report): PRIVATE_LINEAGE_SDK_API_COVERAGE_EXE := $(lineage_sdk_api_coverage_exe)
+$(lineage-sdk-test-coverage-report): PRIVATE_DEXDEPS_EXE := $(dexdeps_exe)
+$(lineage-sdk-test-coverage-report): PRIVATE_API_XML_DESC := $(api_xml_description)
+$(lineage-sdk-test-coverage-report): $(lineage_sdk_tests_apk) $(lineagesettingsprovider_tests_apk) $(lineage_sdk_api_coverage_dependencies) | $(ACP)
+	$(call generate-lineage-coverage-report,"LINEAGE-SDK API Coverage Report",\
 			$(PRIVATE_TEST_CASES),html)
 
-.PHONY: cmsdk-test-coverage
-cmsdk-test-coverage : $(cmsdk-test-coverage-report)
+.PHONY: lineage-sdk-test-coverage
+lineage-sdk-test-coverage : $(lineage-sdk-test-coverage-report)
 
-# Put the test coverage report in the dist dir if "cmsdk" is among the build goals.
-ifneq ($(filter cmsdk, $(MAKECMDGOALS)),)
-  $(call dist-for-goals, cmsdk, $(cmsdk-test-coverage-report):cmsdk-test-coverage-report.html)
+# Put the test coverage report in the dist dir if "lineage-sdk" is among the build goals.
+ifneq ($(filter lineage-sdk, $(MAKECMDGOALS)),)
+  $(call dist-for-goals, lineage-sdk, $(lineage-sdk-test-coverage-report):lineage-sdk-test-coverage-report.html)
 endif
 
 # Arguments;
 #  1 - Name of the report printed out on the screen
 #  2 - List of apk files that will be scanned to generate the report
 #  3 - Format of the report
-define generate-cm-coverage-report
+define generate-lineage-coverage-report
 	$(hide) mkdir -p $(dir $@)
-	$(hide) $(PRIVATE_CMSDK_API_COVERAGE_EXE) -d $(PRIVATE_DEXDEPS_EXE) -a $(PRIVATE_API_XML_DESC) -f $(3) -o $@ $(2) -cm
+	$(hide) $(PRIVATE_LINEAGE_SDK_API_COVERAGE_EXE) -d $(PRIVATE_DEXDEPS_EXE) -a $(PRIVATE_API_XML_DESC) -f $(3) -o $@ $(2) -cm
 	@ echo $(1): file://$@
 endef
 
 # Reset temp vars
-cmsdk_api_coverage_dependencies :=
-cmsdk-combined-coverage-report :=
-cmsdk-combined-xml-coverage-report :=
-cmsdk-verifier-coverage-report :=
-cmsdk-test-coverage-report :=
+lineage_sdk_api_coverage_dependencies :=
+lineage-sdk-combined-coverage-report :=
+lineage-sdk-combined-xml-coverage-report :=
+lineage-sdk-verifier-coverage-report :=
+lineage-sdk-test-coverage-report :=
 api_xml_description :=
 api_text_description :=
 coverage_out :=
 dexdeps_exe :=
-cmsdk_api_coverage_exe :=
-cmsdk_verifier_apk :=
-android_cmsdk_zip :=
+lineage_sdk_api_coverage_exe :=
+lineage_sdk_verifier_apk :=
+android_lineage_sdk_zip :=
