lineage-sdk: Android.mk -> Android.bp

Change-Id: Iac2bd318e7ceb6b96e30d26832d98b7b2726cd5b
This commit is contained in:
Rashed Abdel-Tawab
2018-08-09 16:47:40 -07:00
committed by Sam Mortimer
parent 8daa2ca6ae
commit 703249ae8d
12 changed files with 268 additions and 318 deletions

136
Android.bp Normal file
View File

@@ -0,0 +1,136 @@
//
// Copyright (C) 2018 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.
//
android_app {
name: "org.lineageos.platform-res",
certificate: "platform",
manifest: "lineage/res/AndroidManifest.xml",
aaptflags: [
"--auto-add-overlay",
"--private-symbols",
"org.lineageos.platform.internal",
// Framework doesn't need versioning since it IS the platform.
"--no-auto-version",
// Tell aapt to create "extending (non-application)" resource IDs,
// since these resources will be used by many apps.
"--allow-reserved-package-id",
// Use id 0x3f (one less than app id).
"--package-id",
"63",
],
resource_dirs: [
"lineage/res/res",
"sdk/res/res"
],
// Create package-export.apk, which other packages can use to get
// PRODUCT-agnostic resource data like IDs and type definitions.
export_package_resources: true,
}
// The LineageOS Platform Framework Library
// ============================================================
lineage_sdk_src = "sdk/src/java/lineageos"
lineage_sdk_internal_src = "sdk/src/java/org/lineageos/internal"
library_src = "lineage/lib/main/java"
lineage_sdk_LOCAL_JAVA_LIBRARIES = [
"android-support-annotations",
"android-support-v7-preference",
"android-support-v7-recyclerview",
"android-support-v14-preference",
]
// READ ME: ########################################################
//
// When updating this list of aidl files, consider if that aidl is
// part of the SDK API. If it is, also add it to the list below that
// is preprocessed and distributed with the SDK. This list should
// not contain any aidl files for parcelables, but the one below should
// if you intend for 3rd parties to be able to send those objects
// across process boundaries.
//
// READ ME: ########################################################
java_library {
name: "org.lineageos.platform",
static_libs: ["telephony-ext"],
libs: [
"services",
"org.lineageos.hardware",
] + lineage_sdk_LOCAL_JAVA_LIBRARIES,
srcs: [
lineage_sdk_src + "/**/*.java",
lineage_sdk_internal_src + "/**/*.java",
library_src + "/**/*.java",
lineage_sdk_src + "/**/I*.aidl",
lineage_sdk_internal_src + "/**/I*.aidl",
],
// Include aidl files from lineageos.app namespace as well as internal src aidl files
aidl: {
local_include_dirs: ["sdk/src/java"],
},
}
// Full target for use by platform apps
// ============================================================
java_library_static {
name: "org.lineageos.platform.internal",
required: ["services"],
static_libs: ["telephony-ext"],
libs: lineage_sdk_LOCAL_JAVA_LIBRARIES,
srcs: [
lineage_sdk_src + "/**/*.java",
lineage_sdk_internal_src + "/**/*.java",
lineage_sdk_src + "/**/I*.aidl",
lineage_sdk_internal_src + "/**/I*.aidl",
],
aidl: {
local_include_dirs: ["sdk/src/java"],
},
}
// The SDK
// ============================================================
// Included aidl files from lineageos.app namespace
java_library_static {
name: "org.lineageos.platform.sdk",
required: ["services"],
libs: lineage_sdk_LOCAL_JAVA_LIBRARIES,
srcs: [
lineage_sdk_src + "/**/*.java",
lineage_sdk_src + "/**/I*.aidl",
],
aidl: {
local_include_dirs: ["sdk/src/java"],
},
}

View File

@@ -27,63 +27,6 @@ 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.power:lineageos.util:lineageos.weather:lineageos.weatherservice:lineageos.style:lineageos.trust
# The LineageOS Platform Framework Library
# ============================================================
include $(CLEAR_VARS)
lineage_sdk_src := sdk/src/java/lineageos
lineage_sdk_internal_src := sdk/src/java/org/lineageos/internal
library_src := lineage/lib/main/java
LOCAL_MODULE := org.lineageos.platform
LOCAL_MODULE_TAGS := optional
lineage_sdk_LOCAL_JAVA_LIBRARIES := \
android-support-annotations \
android-support-v7-preference \
android-support-v7-recyclerview \
android-support-v14-preference
LOCAL_STATIC_JAVA_LIBRARIES := \
telephony-ext
LOCAL_JAVA_LIBRARIES := \
services \
org.lineageos.hardware \
$(lineage_sdk_LOCAL_JAVA_LIBRARIES)
LOCAL_SRC_FILES := \
$(call all-java-files-under, $(lineage_sdk_src)) \
$(call all-java-files-under, $(lineage_sdk_internal_src)) \
$(call all-java-files-under, $(library_src))
## READ ME: ########################################################
##
## When updating this list of aidl files, consider if that aidl is
## part of the SDK API. If it is, also add it to the list below that
## is preprocessed and distributed with the SDK. This list should
## not contain any aidl files for parcelables, but the one below should
## if you intend for 3rd parties to be able to send those objects
## across process boundaries.
##
## READ ME: ########################################################
LOCAL_SRC_FILES += \
$(call all-Iaidl-files-under, $(lineage_sdk_src)) \
$(call all-Iaidl-files-under, $(lineage_sdk_internal_src))
lineage_platform_LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_platform_res)/lineageos/platform/R.java \
$(lineage_platform_res)/lineageos/platform/Manifest.java \
$(lineage_platform_res)/org/lineageos/platform/internal/R.java
LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_platform_LOCAL_INTERMEDIATE_SOURCES)
# Include aidl files from lineageos.app namespace as well as internal src aidl files
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/sdk/src/java
LOCAL_AIDL_FLAGS := -n
include $(BUILD_JAVA_LIBRARY)
lineage_framework_module := $(LOCAL_INSTALLED_MODULE)
# Make sure that R.java and Manifest.java are built before we build
@@ -96,53 +39,6 @@ $(lineage_framework_module): | $(dir $(lineage_framework_module))org.lineageos.p
lineage_framework_built := $(call java-lib-deps, org.lineageos.platform)
# ==== org.lineageos.platform.xml lib def ========================
include $(CLEAR_VARS)
LOCAL_MODULE := org.lineageos.platform.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
# This will install the file in /system/etc/permissions
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
# the sdk
# ============================================================
include $(CLEAR_VARS)
LOCAL_MODULE:= org.lineageos.platform.sdk
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := services
LOCAL_SRC_FILES := \
$(call all-java-files-under, $(lineage_sdk_src)) \
$(call all-Iaidl-files-under, $(lineage_sdk_src))
# Included aidl files from lineageos.app namespace
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/sdk/src/java
lineage_sdk_LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_platform_res)/lineageos/platform/R.java \
$(lineage_platform_res)/lineageos/platform/Manifest.java
LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_sdk_LOCAL_INTERMEDIATE_SOURCES)
LOCAL_JAVA_LIBRARIES := \
$(lineage_sdk_LOCAL_JAVA_LIBRARIES)
# 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)
include $(BUILD_STATIC_JAVA_LIBRARY)
# the sdk as an aar for publish, not built as part of full target
# DO NOT LINK AGAINST THIS IN BUILD
# ============================================================
@@ -169,43 +65,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := org.lineageos.platform.sdk
include $(BUILD_STATIC_JAVA_LIBRARY)
$(LOCAL_MODULE) : $(built_aar)
# full target for use by platform apps
#
include $(CLEAR_VARS)
LOCAL_MODULE:= org.lineageos.platform.internal
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := services
LOCAL_SRC_FILES := \
$(call all-java-files-under, $(lineage_sdk_src)) \
$(call all-java-files-under, $(lineage_sdk_internal_src)) \
$(call all-Iaidl-files-under, $(lineage_sdk_src)) \
$(call all-Iaidl-files-under, $(lineage_sdk_internal_src))
# Included aidl files from lineageos.app namespace
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/sdk/src/java
LOCAL_AIDL_FLAGS := -n
lineage_sdk_LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_platform_res)/lineageos/platform/R.java \
$(lineage_platform_res)/lineageos/platform/Manifest.java \
$(lineage_platform_res)/org/lineageos/platform/internal/R.java \
$(lineage_platform_res)/org/lineageos/platform/internal/Manifest.java
LOCAL_INTERMEDIATE_SOURCES := \
$(lineage_sdk_LOCAL_INTERMEDIATE_SOURCES)
LOCAL_STATIC_JAVA_LIBRARIES := \
telephony-ext
LOCAL_JAVA_LIBRARIES := \
$(lineage_sdk_LOCAL_JAVA_LIBRARIES)
$(full_target): $(lineage_framework_built) $(gen)
include $(BUILD_STATIC_JAVA_LIBRARY)
# ===========================================================
# Common Droiddoc vars
lineage_platform_docs_src_files := \

20
host/migration/Android.bp Normal file
View File

@@ -0,0 +1,20 @@
//
// Copyright (C) 2018 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.
//
java_library_host {
srcs: ["**/*.java"],
name: "migration-interface",
}

View File

@@ -1,9 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_MODULE:= migration-interface
include $(BUILD_HOST_JAVA_LIBRARY)

47
lineage/jni/Android.bp Normal file
View File

@@ -0,0 +1,47 @@
//
// Copyright (C) 2018 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.
//
cc_library_shared {
srcs: [
"src/org_lineageos_platform_internal_LineageAudioService.cpp",
"src/onload.cpp",
],
include_dirs: [
"frameworks/base/core/jni",
"frameworks/av/include",
"hardware/libhardware/include",
"libnativehelper/include/nativehelper",
],
shared_libs: [
"libandroid_runtime",
"libaudioclient",
"libcutils",
"libhardware",
"liblog",
"libmedia",
"libutils",
],
name: "liblineage-sdk_platform_jni",
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
}

View File

@@ -1,44 +0,0 @@
# Copyright (C) 2016 The CyanogenMod 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)
LOCAL_SRC_FILES := \
src/org_lineageos_platform_internal_LineageAudioService.cpp \
src/onload.cpp
LOCAL_C_INCLUDES := \
$(JNI_H_INCLUDE) \
$(TOP)/frameworks/base/core/jni \
$(TOP)/frameworks/av/include \
$(TOP)/hardware/libhardware/include \
$(TOP)/libnativehelper/include/nativehelper
LOCAL_SHARED_LIBRARIES := \
libandroid_runtime \
libaudioclient \
libcutils \
libhardware \
liblog \
libmedia \
libutils
LOCAL_MODULE := liblineage-sdk_platform_jni
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS := -Wall -Werror -Wno-unused-parameter
include $(BUILD_SHARED_LIBRARY)

View File

@@ -1,47 +0,0 @@
#
# Copyright (C) 2015 The CyanogenMod 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)
LOCAL_PACKAGE_NAME := org.lineageos.platform-res
LOCAL_CERTIFICATE := platform
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --private-symbols org.lineageos.platform.internal
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/../../sdk/res/res
LOCAL_PRIVATE_PLATFORM_APIS := true
# Tell aapt to create "extending (non-application)" resource IDs,
# since these resources will be used by many apps.
# 0x3f/one less than app id
LOCAL_AAPT_FLAGS += -x 63
LOCAL_MODULE_TAGS := optional
# frameworks resource packages don't like the extra subdir layer
LOCAL_IGNORE_SUBDIR := true
# Install this alongside the libraries.
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)
# Create package-export.apk, which other packages can use to get
# PRODUCT-agnostic resource data like IDs and type definitions.
LOCAL_EXPORT_PACKAGE_RESOURCES := true
include $(BUILD_PACKAGE)

View File

@@ -0,0 +1,33 @@
//
// Copyright (C) 2018 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.
//
android_app {
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
name: "LineageSettingsProvider",
certificate: "platform",
privileged: true,
static_libs: [
"android-support-v4",
"android-support-v7-appcompat",
"android-support-v7-preference",
"android-support-v7-recyclerview",
"android-support-v14-preference",
"org.lineageos.platform.internal",
],
}

View File

@@ -1,43 +0,0 @@
#
# Copyright (C) 2015 The CyanogenMod 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)
src_dir := src
res_dir := res
LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dir))
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dir))
LOCAL_PACKAGE_NAME := LineageSettingsProvider
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v4 \
android-support-v7-appcompat \
android-support-v7-preference \
android-support-v7-recyclerview \
android-support-v14-preference \
org.lineageos.platform.internal
include $(BUILD_PACKAGE)
########################
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -0,0 +1,32 @@
//
// Copyright (C) 2018 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.
//
android_app {
tags: ["tests"],
name: "LineageSettingsProviderTests",
instrumentation_for: "LineageSettingsProvider",
srcs: ["**/*.java"],
certificate: "platform",
libs: ["android.test.runner"],
optimize: {
optimize: true,
},
static_libs: ["org.lineageos.platform.internal"],
}

View File

@@ -15,27 +15,6 @@
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_PACKAGE_NAME := LineageSettingsProviderTests
LOCAL_INSTRUMENTATION_FOR := LineageSettingsProvider
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_JAVA_LIBRARIES := android.test.runner
LOCAL_PROGUARD_ENABLED := optimization
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_STATIC_JAVA_LIBRARIES := \
org.lineageos.platform.internal
include $(BUILD_PACKAGE)
# Register as LineageTS
include $(CLEAR_VARS)

View File

@@ -1,13 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := \
org.lineageos.platform.sdk
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := LineageProfiles
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)