Cleaned up the build files for android_icu4j targets

The build targets for building android_icu47 targets were
in the icu4j/Android.mk file which is not following the standard
structure. This moves them into the android_icu4j/Android.mk
file and also adds in targets for building on host to aid in
comparative testing of the repackaged JARs on both host and
Android. That should help us separate issues causes by
repackaging and issues caused by differences in behavior between
host and Android.
(cherry picked from commit 925333c86264c3e4986a5f8e0c3c096df29b578c)

Change-Id: I7d7ea7c9cd9a8c33377955f6b29372507fd162fb
diff --git a/android_icu4j/Android.mk b/android_icu4j/Android.mk
new file mode 100644
index 0000000..8d0a1d4
--- /dev/null
+++ b/android_icu4j/Android.mk
@@ -0,0 +1,82 @@
+#
+# Copyright (C) 2016 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)
+
+#==========================================================
+# build repackaged ICU for target
+#
+# This is done in the libcore/JavaLibraries.mk file as there are circular
+# dependencies between ICU and libcore
+#==========================================================
+
+#==========================================================
+# build repackaged ICU tests for target
+#
+# Builds against core-libart and core-oj so that it can access all the
+# repackaged android.icu classes and methods and not just the ones available
+# through the Android API.
+#==========================================================
+include $(CLEAR_VARS)
+
+# Don't include this package in any target
+LOCAL_MODULE_TAGS := tests
+LOCAL_SRC_FILES := \
+    $(call all-java-files-under,src/main/tests)
+LOCAL_JAVA_RESOURCE_DIRS := src/main/tests
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test
+LOCAL_JAVA_LIBRARIES := \
+        core-oj \
+        core-libart
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_MODULE := android-icu4j-tests
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+#==========================================================
+# build repackaged ICU for host for testing purposes
+#
+# Uses the repackaged versions of the data jars
+#==========================================================
+include $(CLEAR_VARS)
+
+# Don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(call all-java-files-under,src/main/java)
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    icu4j-icudata-host-jarjar \
+    icu4j-icutzdata-host-jarjar
+LOCAL_JAVA_RESOURCE_DIRS := resources
+LOCAL_MODULE := android-icu4j-host
+include $(BUILD_HOST_JAVA_LIBRARY)
+
+#==========================================================
+# build repackaged ICU tests for host for testing purposes
+#
+# Run the tests using the ICU4J test framework with the following command:
+#   java -cp ${ANDROID_BUILD_TOP}/out/host/linux-x86/framework/android-icu4j-tests-host.jar android.icu.dev.test.TestAll
+#==========================================================
+include $(CLEAR_VARS)
+
+# Don't include this package in any target
+LOCAL_MODULE_TAGS := tests
+LOCAL_SRC_FILES := \
+    $(call all-java-files-under,src/main/tests)
+LOCAL_JAVA_RESOURCE_DIRS := src/main/tests
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-icu4j-host
+LOCAL_MODULE := android-icu4j-tests-host
+include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/icu4j/Android.mk b/icu4j/Android.mk
index 46ec3c0..563f7ac 100644
--- a/icu4j/Android.mk
+++ b/icu4j/Android.mk
@@ -98,6 +98,12 @@
     -C "$(LOCAL_PATH)/main/tests/core/src" \
     "com/ibm/icu/dev/test/serializable/data"
 
+#==========================================================
+# build ICU tests for host for testing purposes
+#
+# Run the tests using the ICU4J test framework with the following command:
+#   java -cp ${ANDROID_BUILD_TOP}/out/host/linux-x86/framework/icu4j-host.jar:${ANDROID_BUILD_TOP}/out/host/linux-x86/framework/icu4j-tests-host.jar com.ibm.icu.dev.test.TestAll
+#==========================================================
 include $(CLEAR_VARS)
 LOCAL_SRC_FILES := $(icu4j_test_src_files)
 LOCAL_JAVA_RESOURCE_DIRS := $(icu4j_test_resource_dirs)
@@ -138,24 +144,3 @@
 LOCAL_JARJAR_RULES := $(LOCAL_PATH)/liblayout-jarjar-rules.txt
 LOCAL_MODULE := icu4j-icutzdata-host-jarjar
 include $(BUILD_HOST_JAVA_LIBRARY)
-
-# build repackaged ICU tests
-#
-# Builds against core-libart and core-oj so that it can access all the
-# repackaged android.icu classes and methods and not just the ones available
-# through the Android API.
-include $(CLEAR_VARS)
-
-android_icu4j_tests := ../android_icu4j/src/main/tests
-
-# Don't include this package in any target
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := \
-	$(call all-java-files-under,$(android_icu4j_tests))
-LOCAL_JAVA_RESOURCE_DIRS := $(android_icu4j_tests)
-LOCAL_JAVA_LIBRARIES := \
-	core-oj \
-	core-libart
-LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_MODULE := android-icu4j-tests
-include $(BUILD_STATIC_JAVA_LIBRARY)