Convert frameworks/layoutlib to Android.bp
See build/soong/README.md for more information.
Bug: 122333007
Test: mmma frameworks/layoutlib
Test: m temp_layoutlib with PRODUCT_MINIMIZE_JAVA_DEBUG_INFO=true
Change-Id: I7aa398e255ef040c4a44de36b7e925673bf8bb08
Merged-In: I7aa398e255ef040c4a44de36b7e925673bf8bb08
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..f54621d
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,35 @@
+//
+// Copyright (C) 2008 The Android Open Source 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.
+//
+
+//
+// Define rules to build temp_layoutlib.jar, which contains a subset of
+// the classes in framework.jar. The layoutlib_create tool is used to
+// transform the framework jar into the temp_layoutlib jar.
+//
+
+java_genrule_host {
+ name: "temp_layoutlib",
+ tools: ["layoutlib_create"],
+ out: ["temp_layoutlib.jar"],
+ srcs: [
+ ":core-libart{.jar}",
+ ":framework{.jar}",
+ ":ext{.jar}",
+ ":icu4j-icudata-jarjar{.jar}", // HOST
+ ":icu4j-icutzdata-jarjar{.jar}", // HOST
+ ],
+ cmd: "rm -f $(out) && $(location layoutlib_create) $(out) $(in)",
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 3ee0b94..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-#
-# Copyright (C) 2008 The Android Open Source 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.
-#
-ifeq (,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO))
-
-LOCAL_PATH := $(my-dir)
-include $(CLEAR_VARS)
-
-#
-# Define rules to build temp_layoutlib.jar, which contains a subset of
-# the classes in framework.jar. The layoutlib_create tool is used to
-# transform the framework jar into the temp_layoutlib jar.
-#
-
-# We need to process the framework classes.jar file, but we can't
-# depend directly on it (private vars won't be inherited correctly).
-# So, we depend on framework's BUILT file.
-built_framework_dep := $(call java-lib-deps,framework)
-built_framework_classes := $(call java-lib-files,framework)
-
-built_core_dep := $(call java-lib-deps,core-libart)
-built_core_classes := $(call java-lib-files,core-libart)
-
-built_ext_dep := $(call java-lib-deps,ext)
-built_ext_classes := $(call java-lib-files,ext)
-
-built_icudata_dep := $(call java-lib-deps,icu4j-icudata-jarjar,HOST)
-built_icutzdata_dep := $(call java-lib-deps,icu4j-icutzdata-jarjar,HOST)
-
-built_layoutlib_create_jar := $(call java-lib-files,layoutlib_create,HOST)
-
-# This is mostly a copy of config/host_java_library.mk
-LOCAL_MODULE := temp_layoutlib
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
-LOCAL_IS_HOST_MODULE := true
-LOCAL_BUILT_MODULE_STEM := classes.jar
-
-#######################################
-include $(BUILD_SYSTEM)/base_rules.mk
-#######################################
-
-$(LOCAL_BUILT_MODULE): $(built_core_dep) \
- $(built_framework_dep) \
- $(built_ext_dep) \
- $(built_icudata_dep) \
- $(built_icutzdata_dep) \
- $(built_layoutlib_create_jar)
- $(hide) echo "host layoutlib_create: $@"
- $(hide) mkdir -p $(dir $@)
- $(hide) rm -f $@
- $(hide) ls -l $(built_framework_classes)
- $(hide) java -ea -jar $(built_layoutlib_create_jar) \
- $@ \
- $(built_core_classes) \
- $(built_framework_classes) \
- $(built_ext_classes) \
- $(built_icudata_dep) \
- $(built_icutzdata_dep) \
- $(built_ext_data)
- $(hide) ls -l $(built_framework_classes)
-
-
-my_link_type := java
-my_warn_types :=
-my_allowed_types :=
-my_link_deps :=
-my_2nd_arch_prefix :=
-my_common := COMMON
-include $(BUILD_SYSTEM)/link_type.mk
-
-#
-# Include the subdir makefiles.
-#
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
-endif
diff --git a/bridge/Android.bp b/bridge/Android.bp
new file mode 100644
index 0000000..2d75058
--- /dev/null
+++ b/bridge/Android.bp
@@ -0,0 +1,37 @@
+//
+// Copyright (C) 2008 The Android Open Source 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 {
+ name: "layoutlib",
+
+ srcs: ["src/**/*.java"],
+ java_resource_dirs: ["resources"],
+
+ libs: [
+ "layoutlib_api-prebuilt",
+ "tools-common-prebuilt",
+ ],
+
+ static_libs: [
+ "temp_layoutlib",
+ "ninepatch-prebuilt",
+ "layoutlib-common",
+ ],
+
+ dist: {
+ targets: ["layoutlib"],
+ },
+}
diff --git a/bridge/Android.mk b/bridge/Android.mk
deleted file mode 100644
index 89a34a3..0000000
--- a/bridge/Android.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2008 The Android Open Source 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 := $(call all-java-files-under,src)
-LOCAL_JAVA_RESOURCE_DIRS := resources
-
-LOCAL_JAVA_LIBRARIES := \
- layoutlib_api-prebuilt \
- tools-common-prebuilt
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
- temp_layoutlib \
- ninepatch-prebuilt \
- layoutlib-common
-
-LOCAL_MODULE := layoutlib
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-$(call dist-for-goals, layoutlib, $(LOCAL_INSTALLED_MODULE))
-
-# Build all sub-directories
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
diff --git a/bridge/tests/Android.bp b/bridge/tests/Android.bp
new file mode 100644
index 0000000..443d4d3
--- /dev/null
+++ b/bridge/tests/Android.bp
@@ -0,0 +1,44 @@
+// Copyright (C) 2011 The Android Open Source 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_test_host {
+ name: "layoutlib-tests",
+
+ // Only compile source java files in this lib.
+ srcs: [
+ "src/**/*.java",
+ "res/testApp/MyApplication/src/main/myapplication.widgets/**/*.java",
+ ],
+ java_resource_dirs: ["res"],
+
+ libs: [
+ "layoutlib",
+ "kxml2-2.3.0",
+ "layoutlib_api-prebuilt",
+ "tools-common-prebuilt",
+ "sdk-common",
+ "junit",
+ "guava",
+ "mockito",
+ "objenesis",
+ ],
+
+ // Copy the jar to DIST_DIR for sdk builds
+ dist: {
+ targets: [
+ "sdk",
+ "win_sdk",
+ ],
+ },
+}
diff --git a/bridge/tests/Android.mk b/bridge/tests/Android.mk
deleted file mode 100644
index e51d75d..0000000
--- a/bridge/tests/Android.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2011 The Android Open Source 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)
-
-# Only compile source java files in this lib.
-LOCAL_SRC_FILES := \
- $(call all-java-files-under, src) \
- $(call all-java-files-under, res/testApp/MyApplication/src/main/myapplication.widgets)
-LOCAL_JAVA_RESOURCE_DIRS := res
-
-LOCAL_MODULE := layoutlib-tests
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_JAVA_LIBRARIES := layoutlib \
- kxml2-2.3.0 \
- layoutlib_api-prebuilt \
- tools-common-prebuilt \
- sdk-common \
- junit-host \
- guavalib \
- mockito-host \
- objenesis-host
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-# Copy the jar to DIST_DIR for sdk builds
-$(call dist-for-goals, sdk win_sdk, $(LOCAL_INSTALLED_MODULE))
-
-# Build all sub-directories
-include $(call all-makefiles-under,$(LOCAL_PATH))