Extract metalava-model-api as a separate library

This does not move the source code as that would break `./gradlew` so
for now this just uses globs to include the model source into the new
`metalava-model-api` library and exclude it from the `metalava` binary.

Bug: 287241408
Test: m checkapi
Change-Id: Ia89c1c1912367c42e6ab0c49cbda318179c9064f
diff --git a/Android.bp b/Android.bp
index 70851cb..bce6534 100644
--- a/Android.bp
+++ b/Android.bp
@@ -16,17 +16,30 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+model_api_files = [
+    "src/main/java/com/android/tools/metalava/model/*.java",
+    "src/main/java/com/android/tools/metalava/model/*.kt",
+]
+
+java_library_host {
+    name: "metalava-model-api",
+    visibility: ["//visibility:private"],
+    srcs: model_api_files,
+}
+
 java_binary_host {
     name: "metalava",
     srcs: [
         "src/main/java/**/*.java",
         "src/main/java/**/*.kt",
     ],
+    exclude_srcs: model_api_files,
     java_resource_dirs: ["src/main/resources/"],
     static_libs: [
         "jsr305",
         "jsr330",
         "kotlin-reflect",
+        "metalava-model-api",
         "metalava-tools-common-m2-deps",
         "metalava-gradle-plugin-deps",
         "gson-prebuilt-jar-2.9.1",