Use filegroup

Use filegroup to specify sources files with base directory via 'path'
property. This allows the build system to filter Java source files by
their packages.

Bug: 140764681
Test: m
Change-Id: I52760b3cbe3c99f5c48473f667322d6102cb7f53
diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp
index c1b3511..1efdfda 100644
--- a/non_openjdk_java_files.bp
+++ b/non_openjdk_java_files.bp
@@ -1,35 +1,18 @@
 filegroup {
     name: "non_openjdk_javadoc_files",
     srcs: [
-        "luni/src/main/java/android/compat/annotation/ChangeId.java",
-        "luni/src/main/java/android/compat/annotation/Disabled.java",
-        "luni/src/main/java/android/compat/annotation/EnabledAfter.java",
-        "luni/src/main/java/android/compat/Compatibility.java",
-        "luni/src/main/java/android/system/ErrnoException.java",
-        "luni/src/main/java/android/system/GaiException.java",
-        "luni/src/main/java/android/system/IcmpHeaders.java",
-        "luni/src/main/java/android/system/Int32Ref.java",
-        "luni/src/main/java/android/system/Int64Ref.java",
-        "luni/src/main/java/android/system/NetlinkSocketAddress.java",
-        "luni/src/main/java/android/system/Os.java",
-        "luni/src/main/java/android/system/OsConstants.java",
-        "luni/src/main/java/android/system/PacketSocketAddress.java",
-        "luni/src/main/java/android/system/StructAddrinfo.java",
-        "luni/src/main/java/android/system/StructCapUserData.java",
-        "luni/src/main/java/android/system/StructCapUserHeader.java",
-        "luni/src/main/java/android/system/StructGroupReq.java",
-        "luni/src/main/java/android/system/StructIfaddrs.java",
-        "luni/src/main/java/android/system/StructLinger.java",
-        "luni/src/main/java/android/system/StructPasswd.java",
-        "luni/src/main/java/android/system/StructPollfd.java",
-        "luni/src/main/java/android/system/StructRlimit.java",
-        "luni/src/main/java/android/system/StructStat.java",
-        "luni/src/main/java/android/system/StructStatVfs.java",
-        "luni/src/main/java/android/system/StructTimeval.java",
-        "luni/src/main/java/android/system/StructTimespec.java",
-        "luni/src/main/java/android/system/StructUcred.java",
-        "luni/src/main/java/android/system/StructUtsname.java",
-        "luni/src/main/java/android/system/UnixSocketAddress.java",
+        ":non_openjdk_javadoc_dalvik_files",
+        ":non_openjdk_javadoc_json_files",
+        ":non_openjdk_javadoc_libart_files",
+        ":non_openjdk_javadoc_luni_files",
+        ":non_openjdk_javadoc_xml_files",
+    ],
+    visibility: ["//visibility:private"],
+}
+
+filegroup {
+    name: "non_openjdk_javadoc_dalvik_files",
+    srcs: [
         "dalvik/src/main/java/dalvik/annotation/AnnotationDefault.java",
         "dalvik/src/main/java/dalvik/annotation/EnclosingClass.java",
         "dalvik/src/main/java/dalvik/annotation/EnclosingMethod.java",
@@ -50,10 +33,8 @@
         "dalvik/src/main/java/dalvik/bytecode/OpcodeInfo.java",
         "dalvik/src/main/java/dalvik/bytecode/Opcodes.java",
         "dalvik/src/main/java/dalvik/system/AllocationLimitError.java",
-        "libart/src/main/java/dalvik/system/AnnotatedStackTraceElement.java",
         "dalvik/src/main/java/dalvik/system/BaseDexClassLoader.java",
         "dalvik/src/main/java/dalvik/system/BlockGuard.java",
-        "libart/src/main/java/dalvik/system/ClassExt.java",
         "dalvik/src/main/java/dalvik/system/CloseGuard.java",
         "dalvik/src/main/java/dalvik/system/DalvikLogHandler.java",
         "dalvik/src/main/java/dalvik/system/DalvikLogging.java",
@@ -69,21 +50,87 @@
         "dalvik/src/main/java/dalvik/system/RuntimeHooks.java",
         "dalvik/src/main/java/dalvik/system/SocketTagger.java",
         "dalvik/src/main/java/dalvik/system/TemporaryDirectory.java",
-        "libart/src/main/java/dalvik/system/TransactionAbortError.java",
-        "dalvik/src/main/java/dalvik/system/VersionCodes.java",
         "dalvik/src/main/java/dalvik/system/VMDebug.java",
+        "dalvik/src/main/java/dalvik/system/VersionCodes.java",
+        "dalvik/src/main/java/dalvik/system/ZygoteHooks.java",
+        "dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java",
+        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/Chunk.java",
+        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/ChunkHandler.java",
+        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmServer.java",
+        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java",
+    ],
+    path: "dalvik/src/main",
+    visibility: ["//visibility:private"],
+}
+
+filegroup {
+    name: "non_openjdk_javadoc_json_files",
+    srcs: [
+        "json/src/main/java/org/json/JSON.java",
+        "json/src/main/java/org/json/JSONArray.java",
+        "json/src/main/java/org/json/JSONException.java",
+        "json/src/main/java/org/json/JSONObject.java",
+        "json/src/main/java/org/json/JSONStringer.java",
+        "json/src/main/java/org/json/JSONTokener.java",
+    ],
+    path: "json/src/main",
+    visibility: ["//visibility:private"],
+}
+
+filegroup {
+    name: "non_openjdk_javadoc_libart_files",
+    srcs: [
+        "libart/src/main/java/dalvik/system/AnnotatedStackTraceElement.java",
+        "libart/src/main/java/dalvik/system/ClassExt.java",
+        "libart/src/main/java/dalvik/system/TransactionAbortError.java",
         "libart/src/main/java/dalvik/system/VMRuntime.java",
         "libart/src/main/java/dalvik/system/VMStack.java",
-        "dalvik/src/main/java/dalvik/system/ZygoteHooks.java",
         "libart/src/main/java/java/lang/AndroidHardcodedSystemProperties.java",
         "libart/src/main/java/java/lang/Daemons.java",
         "libart/src/main/java/java/lang/DexCache.java",
-        "luni/src/main/java/java/lang/FindBugsSuppressWarnings.java",
         "libart/src/main/java/java/lang/VMClassLoader.java",
         "libart/src/main/java/java/lang/invoke/ArrayElementVarHandle.java",
         "libart/src/main/java/java/lang/invoke/ByteArrayViewVarHandle.java",
         "libart/src/main/java/java/lang/invoke/ByteBufferViewVarHandle.java",
         "libart/src/main/java/java/lang/invoke/FieldVarHandle.java",
+    ],
+    path: "libart/src/main",
+    visibility: ["//visibility:private"],
+}
+
+filegroup {
+    name: "non_openjdk_javadoc_luni_files",
+    srcs: [
+        "luni/src/main/java/android/compat/Compatibility.java",
+        "luni/src/main/java/android/compat/annotation/ChangeId.java",
+        "luni/src/main/java/android/compat/annotation/Disabled.java",
+        "luni/src/main/java/android/compat/annotation/EnabledAfter.java",
+        "luni/src/main/java/android/system/ErrnoException.java",
+        "luni/src/main/java/android/system/GaiException.java",
+        "luni/src/main/java/android/system/IcmpHeaders.java",
+        "luni/src/main/java/android/system/Int32Ref.java",
+        "luni/src/main/java/android/system/Int64Ref.java",
+        "luni/src/main/java/android/system/NetlinkSocketAddress.java",
+        "luni/src/main/java/android/system/Os.java",
+        "luni/src/main/java/android/system/OsConstants.java",
+        "luni/src/main/java/android/system/PacketSocketAddress.java",
+        "luni/src/main/java/android/system/StructAddrinfo.java",
+        "luni/src/main/java/android/system/StructCapUserData.java",
+        "luni/src/main/java/android/system/StructCapUserHeader.java",
+        "luni/src/main/java/android/system/StructGroupReq.java",
+        "luni/src/main/java/android/system/StructIfaddrs.java",
+        "luni/src/main/java/android/system/StructLinger.java",
+        "luni/src/main/java/android/system/StructPasswd.java",
+        "luni/src/main/java/android/system/StructPollfd.java",
+        "luni/src/main/java/android/system/StructRlimit.java",
+        "luni/src/main/java/android/system/StructStat.java",
+        "luni/src/main/java/android/system/StructStatVfs.java",
+        "luni/src/main/java/android/system/StructTimespec.java",
+        "luni/src/main/java/android/system/StructTimeval.java",
+        "luni/src/main/java/android/system/StructUcred.java",
+        "luni/src/main/java/android/system/StructUtsname.java",
+        "luni/src/main/java/android/system/UnixSocketAddress.java",
+        "luni/src/main/java/java/lang/FindBugsSuppressWarnings.java",
         "luni/src/main/java/java/lang/ref/FinalizerReference.java",
         "luni/src/main/java/java/math/BigDecimal.java",
         "luni/src/main/java/java/math/BigInt.java",
@@ -163,9 +210,9 @@
         "luni/src/main/java/javax/xml/xpath/XPathFunctionResolver.java",
         "luni/src/main/java/javax/xml/xpath/XPathVariableResolver.java",
         "luni/src/main/java/libcore/api/CorePlatformApi.java",
-        "luni/src/main/java/libcore/icu/DateIntervalFormat.java",
         "luni/src/main/java/libcore/api/Hide.java",
         "luni/src/main/java/libcore/api/IntraCoreApi.java",
+        "luni/src/main/java/libcore/icu/DateIntervalFormat.java",
         "luni/src/main/java/libcore/icu/ICU.java",
         "luni/src/main/java/libcore/icu/LocaleData.java",
         "luni/src/main/java/libcore/icu/RelativeDateTimeFormatter.java",
@@ -202,17 +249,6 @@
         "luni/src/main/java/libcore/util/SneakyThrow.java",
         "luni/src/main/java/libcore/util/XmlObjectFactory.java",
         "luni/src/main/java/libcore/util/ZoneInfo.java",
-        "dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java",
-        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/Chunk.java",
-        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/ChunkHandler.java",
-        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmServer.java",
-        "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java",
-        "json/src/main/java/org/json/JSON.java",
-        "json/src/main/java/org/json/JSONArray.java",
-        "json/src/main/java/org/json/JSONException.java",
-        "json/src/main/java/org/json/JSONObject.java",
-        "json/src/main/java/org/json/JSONStringer.java",
-        "json/src/main/java/org/json/JSONTokener.java",
         "luni/src/main/java/org/w3c/dom/Attr.java",
         "luni/src/main/java/org/w3c/dom/CDATASection.java",
         "luni/src/main/java/org/w3c/dom/CharacterData.java",
@@ -288,12 +324,22 @@
         "luni/src/main/java/org/xml/sax/helpers/XMLFilterImpl.java",
         "luni/src/main/java/org/xml/sax/helpers/XMLReaderAdapter.java",
         "luni/src/main/java/org/xml/sax/helpers/XMLReaderFactory.java",
+    ],
+    path: "luni/src/main",
+    visibility: ["//visibility:private"],
+}
+
+filegroup {
+    name: "non_openjdk_javadoc_xml_files",
+    srcs: [
         "xml/src/main/java/org/xmlpull/v1/XmlPullParser.java",
         "xml/src/main/java/org/xmlpull/v1/XmlPullParserException.java",
         "xml/src/main/java/org/xmlpull/v1/XmlPullParserFactory.java",
         "xml/src/main/java/org/xmlpull/v1/XmlSerializer.java",
         "xml/src/main/java/org/xmlpull/v1/sax2/Driver.java",
     ],
+    path: "xml/src/main",
+    visibility: ["//visibility:private"],
 }
 
 filegroup {