refactor CTS harness to be a host Java library

- removed compile time generated SuiteInfo.java
- replaced with compile time generated properties file with same
  information, to be loaded by generic test suite info loader in
  TradeFederation
- created a separate host library for CTS harness parts, without
  compile time generated suite info

Bug: 38448863
Bug: 65127140
Test: existing unit/func tests covering test suite info loading
Change-Id: I0b76ad620e4f68bf935cd832c17fcd6bacb79112
diff --git a/build/compatibility_test_suite.mk b/build/compatibility_test_suite.mk
index 7cdd220..d133c3e 100644
--- a/build/compatibility_test_suite.mk
+++ b/build/compatibility_test_suite.mk
@@ -16,25 +16,21 @@
 # Builds a compatibility test suite.
 #
 
-# Generate the SuiteInfo.java
-suite_info_java := $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE),true,COMMON)/com/android/compatibility/SuiteInfo.java
-$(suite_info_java): PRIVATE_SUITE_BUILD_NUMBER := $(LOCAL_SUITE_BUILD_NUMBER)
-$(suite_info_java): PRIVATE_SUITE_TARGET_ARCH := $(LOCAL_SUITE_TARGET_ARCH)
-$(suite_info_java): PRIVATE_SUITE_NAME := $(LOCAL_SUITE_NAME)
-$(suite_info_java): PRIVATE_SUITE_FULLNAME := $(LOCAL_SUITE_FULLNAME)
-$(suite_info_java): PRIVATE_SUITE_VERSION := $(LOCAL_SUITE_VERSION)
-$(suite_info_java): cts/build/compatibility_test_suite.mk $(LOCAL_MODULE_MAKEFILE)
+# Generate suite info property file
+suite_info_prop := $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE),true,COMMON)/test-suite-info.properties
+$(suite_info_prop): PRIVATE_SUITE_BUILD_NUMBER := $(LOCAL_SUITE_BUILD_NUMBER)
+$(suite_info_prop): PRIVATE_SUITE_TARGET_ARCH := $(LOCAL_SUITE_TARGET_ARCH)
+$(suite_info_prop): PRIVATE_SUITE_NAME := $(LOCAL_SUITE_NAME)
+$(suite_info_prop): PRIVATE_SUITE_FULLNAME := $(LOCAL_SUITE_FULLNAME)
+$(suite_info_prop): PRIVATE_SUITE_VERSION := $(LOCAL_SUITE_VERSION)
+$(suite_info_prop): cts/build/compatibility_test_suite.mk $(LOCAL_MODULE_MAKEFILE)
 	@echo Generating: $@
-	$(hide) mkdir -p $(dir $@)
-	$(hide) echo "/* This file is auto generated by Android.mk.  Do not modify. */" > $@
-	$(hide) echo "package com.android.compatibility;" >> $@
-	$(hide) echo "public class SuiteInfo {" >> $@
-	$(hide) echo "    public static final String BUILD_NUMBER = \"$(PRIVATE_SUITE_BUILD_NUMBER)\";" >> $@
-	$(hide) echo "    public static final String TARGET_ARCH = \"$(PRIVATE_SUITE_TARGET_ARCH)\";" >> $@
-	$(hide) echo "    public static final String NAME = \"$(PRIVATE_SUITE_NAME)\";" >> $@
-	$(hide) echo "    public static final String FULLNAME = \"$(PRIVATE_SUITE_FULLNAME)\";" >> $@
-	$(hide) echo "    public static final String VERSION = \"$(PRIVATE_SUITE_VERSION)\";" >> $@
-	$(hide) echo "}" >> $@
+	$(hide) echo "# This file is auto generated by Android.mk. Do not modify." > $@
+	$(hide) echo "build_number = $(PRIVATE_SUITE_BUILD_NUMBER)" >> $@
+	$(hide) echo "target_arch = $(PRIVATE_SUITE_TARGET_ARCH)" >> $@
+	$(hide) echo "name = $(PRIVATE_SUITE_NAME)" >> $@
+	$(hide) echo "fullname = $(PRIVATE_SUITE_FULLNAME)" >> $@
+	$(hide) echo "version = $(PRIVATE_SUITE_VERSION)" >> $@
 
 # Reset variables
 LOCAL_SUITE_BUILD_NUMBER :=
@@ -42,8 +38,8 @@
 LOCAL_SUITE_FULLNAME :=
 LOCAL_SUITE_VERSION :=
 
-# Include the SuiteInfo.java
-LOCAL_GENERATED_SOURCES := $(suite_info_java)
+# Include the test suite properties file
+LOCAL_JAVA_RESOURCE_FILES += $(suite_info_prop)
 
 # Add the base libraries
 LOCAL_JAVA_LIBRARIES += tradefed hosttestlib compatibility-host-util
@@ -51,3 +47,5 @@
 LOCAL_MODULE_TAGS := optional
 
 include $(BUILD_HOST_JAVA_LIBRARY)
+
+suite_info_prop :=