| # |
| # Copyright (C) 2015 The CyanogenMod Project |
| # 2017-2023 The LineageOS Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| LOCAL_PATH := $(call my-dir) |
| |
| include $(CLEAR_VARS) |
| |
| # We have a special case here where we build the library's resources |
| # independently from its code, so we need to find where the resource |
| # class source got placed in the course of building the resources. |
| # Thus, the magic here. |
| # Also, this module cannot depend directly on the R.java file; if it |
| # did, the PRIVATE_* vars for R.java wouldn't be guaranteed to be correct. |
| # Instead, it depends on the R.stamp file, which lists the corresponding |
| # R.java file as a prerequisite. |
| lineage_platform_res := APPS/org.lineageos.platform-res_intermediates/aapt |
| |
| # List of packages used in lineage-api-stubs |
| lineage_stub_packages := lineageos.app:lineageos.content:lineageos.hardware:lineageos.media:lineageos.os:lineageos.preference:lineageos.profiles:lineageos.providers:lineageos.platform:lineageos.util:lineageos.trust |
| |
| lineage_framework_module := $(LOCAL_INSTALLED_MODULE) |
| |
| # Make sure that R.java and Manifest.java are built before we build |
| # the source for this library. |
| lineage_framework_res_R_stamp := \ |
| $(call intermediates-dir-for,APPS,org.lineageos.platform-res,,COMMON)/src/R.stamp |
| LOCAL_ADDITIONAL_DEPENDENCIES := $(lineage_framework_res_R_stamp) |
| |
| $(lineage_framework_module): | $(dir $(lineage_framework_module))org.lineageos.platform-res.apk |
| |
| lineage_framework_built := $(call java-lib-deps, org.lineageos.platform) |
| |
| # =========================================================== |
| # Common Droiddoc vars |
| lineage_platform_docs_src_files := \ |
| $(call all-java-files-under, $(lineage_sdk_src)) \ |
| $(call all-html-files-under, $(lineage_sdk_src)) |
| |
| lineage_platform_docs_java_libraries := \ |
| org.lineageos.platform.sdk |
| |
| # SDK version as defined |
| lineage_platform_docs_SDK_VERSION := 15.1 |
| |
| # release version |
| lineage_platform_docs_SDK_REL_ID := 9 |
| |
| lineage_platform_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES |
| |
| lineage_platform_docs_LOCAL_DROIDDOC_SOURCE_PATH := \ |
| $(lineage_platform_docs_src_files) |
| |
| lineage_platform_docs_LOCAL_ADDITIONAL_JAVA_DIR := \ |
| $(call intermediates-dir-for,JAVA_LIBRARIES,org.lineageos.platform.sdk,,COMMON) |
| |
| # ==== the api stubs and current.xml =========================== |
| include $(CLEAR_VARS) |
| |
| LOCAL_SRC_FILES:= \ |
| $(lineage_platform_docs_src_files) |
| LOCAL_INTERMEDIATE_SOURCES:= $(lineage_platform_LOCAL_INTERMEDIATE_SOURCES) |
| LOCAL_JAVA_LIBRARIES:= $(lineage_platform_docs_java_libraries) |
| LOCAL_MODULE_CLASS:= $(lineage_platform_docs_LOCAL_MODULE_CLASS) |
| LOCAL_DROIDDOC_SOURCE_PATH:= $(lineage_platform_docs_LOCAL_DROIDDOC_SOURCE_PATH) |
| LOCAL_ADDITIONAL_JAVA_DIR:= $(lineage_platform_docs_LOCAL_ADDITIONAL_JAVA_DIR) |
| LOCAL_ADDITIONAL_DEPENDENCIES:= $(lineage_platform_docs_LOCAL_ADDITIONAL_DEPENDENCIES) |
| |
| LOCAL_MODULE := lineage-api-stubs |
| |
| LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:= external/doclava/res/assets/templates-sdk |
| |
| LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/lineage-sdk_stubs_current_intermediates/src |
| |
| LOCAL_DROIDDOC_OPTIONS:= \ |
| -referenceonly \ |
| -stubpackages $(lineage_stub_packages) \ |
| -exclude org.lineageos.platform.internal \ |
| -api $(INTERNAL_LINEAGE_PLATFORM_API_FILE) \ |
| -removedApi $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE) \ |
| -nodocs |
| |
| LOCAL_UNINSTALLABLE_MODULE := true |
| |
| #include $(BUILD_DROIDDOC) |
| |
| # $(gen), i.e. framework.aidl, is also needed while building against the current stub. |
| $(full_target): $(lineage_framework_built) $(gen) |
| $(INTERNAL_LINEAGE_PLATFORM_API_FILE): $(full_target) |
| $(call dist-for-goals,sdk,$(INTERNAL_LINEAGE_PLATFORM_API_FILE)) |
| |
| |
| # Documentation |
| # =========================================================== |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := org.lineageos.platform.sdk |
| LOCAL_INTERMEDIATE_SOURCES:= $(lineage_platform_LOCAL_INTERMEDIATE_SOURCES) |
| LOCAL_MODULE_CLASS := JAVA_LIBRARIES |
| LOCAL_MODULE_TAGS := optional |
| |
| LOCAL_SRC_FILES := $(lineage_platform_docs_src_files) |
| LOCAL_ADDITONAL_JAVA_DIR := $(lineage_platform_docs_LOCAL_ADDITIONAL_JAVA_DIR) |
| |
| LOCAL_IS_HOST_MODULE := false |
| LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := vendor/lineage/build/tools/droiddoc/templates-lineage-sdk |
| LOCAL_ADDITIONAL_DEPENDENCIES := \ |
| services |
| |
| LOCAL_JAVA_LIBRARIES := $(lineage_platform_docs_java_libraries) |
| |
| LOCAL_DROIDDOC_OPTIONS := \ |
| -android \ |
| -offlinemode \ |
| -exclude org.lineageos.platform.internal \ |
| -hidePackage org.lineageos.platform.internal \ |
| -hdf android.whichdoc offline \ |
| -hdf sdk.version $(lineage_platform_docs_docs_SDK_VERSION) \ |
| -hdf sdk.rel.id $(lineage_platform_docs_docs_SDK_REL_ID) \ |
| -hdf sdk.preview 0 \ |
| -since $(LINEAGE_SRC_API_DIR)/1.txt 1 \ |
| -since $(LINEAGE_SRC_API_DIR)/2.txt 2 \ |
| -since $(LINEAGE_SRC_API_DIR)/3.txt 3 \ |
| -since $(LINEAGE_SRC_API_DIR)/4.txt 4 \ |
| -since $(LINEAGE_SRC_API_DIR)/5.txt 5 \ |
| -since $(LINEAGE_SRC_API_DIR)/6.txt 6 \ |
| -since $(LINEAGE_SRC_API_DIR)/7.txt 7 \ |
| -since $(LINEAGE_SRC_API_DIR)/8.txt 8 \ |
| -since $(LINEAGE_SRC_API_DIR)/9.txt 9 |
| |
| $(full_target): $(lineage_framework_built) $(gen) |
| #include $(BUILD_DROIDDOC) |
| |
| include $(call first-makefiles-under,$(LOCAL_PATH)) |
| |
| # Cleanup temp vars |
| # =========================================================== |
| lineage_platform_docs_src_files := |
| lineage_platform_docs_java_libraries := |
| lineage_platform_docs_LOCAL_ADDITIONAL_JAVA_DIR := |