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))