diff --git a/core/java/android/annotation/Hide.java b/core/java/android/annotation/Hide.java new file mode 100644 index 0000000000000..c8e5a4a97ae79 --- /dev/null +++ b/core/java/android/annotation/Hide.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 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. + */ + +package android.annotation; + +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.ElementType.CONSTRUCTOR; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PACKAGE; +import static java.lang.annotation.ElementType.TYPE; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Indicates that an API is hidden by default, in a similar fashion to the + *
@hide
javadoc tag. + * + *

Note that, in order for this to work, metalava has to be invoked with + * the flag {@code --hide-annotation android.annotation.Hide}. + * @hide + */ +@Target({TYPE, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE, PACKAGE}) +@Retention(RetentionPolicy.CLASS) +public @interface Hide { +} diff --git a/services/Android.bp b/services/Android.bp index ef40a351c8d1d..3b566078bd51a 100644 --- a/services/Android.bp +++ b/services/Android.bp @@ -1,3 +1,37 @@ +filegroup { + name: "services-main-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//visibility:private"], +} + +filegroup { + name: "services-sources", + srcs: [ + ":services.core-sources", + ":services.accessibility-sources", + ":services.appprediction-sources", + ":services.appwidget-sources", + ":services.autofill-sources", + ":services.backup-sources", + ":services.companion-sources", + ":services.contentcapture-sources", + ":services.contentsuggestions-sources", + ":services.coverage-sources", + ":services.devicepolicy-sources", + ":services.midi-sources", + ":services.net-sources", + ":services.print-sources", + ":services.restrictions-sources", + ":services.startop.iorap-sources", + ":services.systemcaptions-sources", + ":services.usage-sources", + ":services.usb-sources", + ":services.voiceinteraction-sources", + ], + visibility: ["//visibility:private"], +} + // merge all required services into one jar // ============================================================ java_library { @@ -9,9 +43,7 @@ java_library { profile: "art-profile", }, - srcs: [ - "java/**/*.java", - ], + srcs: [":services-main-sources"], // The convention is to name each service module 'services.$(module_name)' static_libs: [ diff --git a/services/accessibility/Android.bp b/services/accessibility/Android.bp index f991d7b50fcbb..284a2f2626a4e 100644 --- a/services/accessibility/Android.bp +++ b/services/accessibility/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.accessibility-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.accessibility", - srcs: ["java/**/*.java"], + srcs: [":services.accessibility-sources"], libs: ["services.core"], } diff --git a/services/appprediction/Android.bp b/services/appprediction/Android.bp index a7be58783aab8..e14e1df0b5c73 100644 --- a/services/appprediction/Android.bp +++ b/services/appprediction/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.appprediction-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.appprediction", - srcs: ["java/**/*.java"], + srcs: [":services.appprediction-sources"], libs: ["services.core"], } diff --git a/services/appwidget/Android.bp b/services/appwidget/Android.bp index aad2ad198bb74..54cf6cec78ea0 100644 --- a/services/appwidget/Android.bp +++ b/services/appwidget/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.appwidget-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.appwidget", - srcs: ["java/**/*.java"], + srcs: [":services.appwidget-sources"], libs: ["services.core"], } diff --git a/services/autofill/Android.bp b/services/autofill/Android.bp index 2768c18513143..539eb1a5220e6 100644 --- a/services/autofill/Android.bp +++ b/services/autofill/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.autofill-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.autofill", - srcs: ["java/**/*.java"], + srcs: [":services.autofill-sources"], libs: ["services.core"], } diff --git a/services/backup/Android.bp b/services/backup/Android.bp index ef03d83d4916d..f945d0f837a1a 100644 --- a/services/backup/Android.bp +++ b/services/backup/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.backup-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.backup", - srcs: ["java/**/*.java"], + srcs: [":services.backup-sources"], libs: ["services.core"], } diff --git a/services/companion/Android.bp b/services/companion/Android.bp index d2dac357a2278..9677a7d83bfb8 100644 --- a/services/companion/Android.bp +++ b/services/companion/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.companion-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.companion", - srcs: ["java/**/*.java"], + srcs: [":services.companion-sources"], libs: ["services.core"], } diff --git a/services/contentcapture/Android.bp b/services/contentcapture/Android.bp index 57e859ebe1217..96e20726fed3f 100644 --- a/services/contentcapture/Android.bp +++ b/services/contentcapture/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.contentcapture-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.contentcapture", - srcs: ["java/**/*.java"], + srcs: [":services.contentcapture-sources"], libs: ["services.core"], } diff --git a/services/contentsuggestions/Android.bp b/services/contentsuggestions/Android.bp index fc09d2e5196ab..d17f06f79e974 100644 --- a/services/contentsuggestions/Android.bp +++ b/services/contentsuggestions/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.contentsuggestions-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.contentsuggestions", - srcs: ["java/**/*.java"], + srcs: [":services.contentsuggestions-sources"], libs: ["services.core"], -} \ No newline at end of file +} diff --git a/services/core/Android.bp b/services/core/Android.bp index 4e75e006e1117..725303dc6f1b6 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -1,24 +1,21 @@ +filegroup { + name: "services.core-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.core.unboosted", - - aidl: { - include_dirs: [ - "frameworks/base/cmds/idmap2/idmap2d/aidl", - "frameworks/native/aidl/binder", - "frameworks/native/cmds/dumpstate/binder", - "system/core/storaged/binder", - "system/vold/binder", - "system/gsid/aidl", - ], - }, srcs: [ "java/**/*.java", ":dumpstate_aidl", + ":framework_native_aidl", + ":gsiservice_aidl", ":idmap2_aidl", ":installd_aidl", ":storaged_aidl", ":vold_aidl", - ":gsiservice_aidl", ":platform-compat-config", "java/com/android/server/EventLogTags.logtags", "java/com/android/server/am/EventLogTags.logtags", diff --git a/services/coverage/Android.bp b/services/coverage/Android.bp index 16c9c1bfcdaac..e4f54644df46a 100644 --- a/services/coverage/Android.bp +++ b/services/coverage/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.coverage-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.coverage", - srcs: ["java/**/*.java"], + srcs: [":services.coverage-sources"], libs: ["jacocoagent"], } diff --git a/services/devicepolicy/Android.bp b/services/devicepolicy/Android.bp index dbe0d811dbb66..2f6592bd33b06 100644 --- a/services/devicepolicy/Android.bp +++ b/services/devicepolicy/Android.bp @@ -1,6 +1,13 @@ +filegroup { + name: "services.devicepolicy-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.devicepolicy", - srcs: ["java/**/*.java"], + srcs: [":services.devicepolicy-sources"], libs: [ "services.core", diff --git a/services/midi/Android.bp b/services/midi/Android.bp index 3745e89e80349..20e00834d0ad3 100644 --- a/services/midi/Android.bp +++ b/services/midi/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.midi-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.midi", - srcs: ["java/**/*.java"], + srcs: [":services.midi-sources"], libs: ["services.core"], } diff --git a/services/net/Android.bp b/services/net/Android.bp index 2dabdb7d47ded..3babb0b0a133b 100644 --- a/services/net/Android.bp +++ b/services/net/Android.bp @@ -1,8 +1,15 @@ +filegroup { + name: "services.net-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.net", srcs: [ ":net-module-utils-srcs", - "java/**/*.java", + ":services.net-sources", ":tethering-manager", ], static_libs: [ @@ -23,4 +30,5 @@ filegroup { "java/android/net/util/NetdService.java", "java/android/net/util/NetworkConstants.java", ], + visibility: ["//frameworks/base/packages/Tethering"], } diff --git a/services/print/Android.bp b/services/print/Android.bp index 80a8c7560de65..aad24d72345b7 100644 --- a/services/print/Android.bp +++ b/services/print/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.print-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.print", - srcs: ["java/**/*.java"], + srcs: [":services.print-sources"], libs: ["services.core"], } diff --git a/services/restrictions/Android.bp b/services/restrictions/Android.bp index 979e891ada5ff..805858f7f654d 100644 --- a/services/restrictions/Android.bp +++ b/services/restrictions/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.restrictions-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.restrictions", - srcs: ["java/**/*.java"], + srcs: [":services.restrictions-sources"], libs: ["services.core"], } diff --git a/services/systemcaptions/Android.bp b/services/systemcaptions/Android.bp index 4e190b639b2ca..1ce3e665c665e 100644 --- a/services/systemcaptions/Android.bp +++ b/services/systemcaptions/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.systemcaptions-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.systemcaptions", - srcs: ["java/**/*.java"], + srcs: [":services.systemcaptions-sources"], libs: ["services.core"], } diff --git a/services/usage/Android.bp b/services/usage/Android.bp index 1064b6ed802f4..156bf330c1289 100644 --- a/services/usage/Android.bp +++ b/services/usage/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.usage-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.usage", - srcs: ["java/**/*.java"], + srcs: [":services.usage-sources"], libs: ["services.core"], } diff --git a/services/usb/Android.bp b/services/usb/Android.bp index 20855b70cabce..d2c973abbc746 100644 --- a/services/usb/Android.bp +++ b/services/usb/Android.bp @@ -1,6 +1,13 @@ +filegroup { + name: "services.usb-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.usb", - srcs: ["java/**/*.java"], + srcs: [":services.usb-sources"], libs: [ "services.core", diff --git a/services/voiceinteraction/Android.bp b/services/voiceinteraction/Android.bp index 390406f972640..85b96f34f4f64 100644 --- a/services/voiceinteraction/Android.bp +++ b/services/voiceinteraction/Android.bp @@ -1,5 +1,12 @@ +filegroup { + name: "services.voiceinteraction-sources", + srcs: ["java/**/*.java"], + path: "java", + visibility: ["//frameworks/base/services"], +} + java_library_static { name: "services.voiceinteraction", - srcs: ["java/**/*.java"], + srcs: [":services.voiceinteraction-sources"], libs: ["services.core"], } diff --git a/startop/iorap/Android.bp b/startop/iorap/Android.bp index 59a80fbae792d..993d1e1092b90 100644 --- a/startop/iorap/Android.bp +++ b/startop/iorap/Android.bp @@ -12,19 +12,24 @@ // See the License for the specific language governing permissions and // limitations under the License. +filegroup { + name: "services.startop.iorap-javasources", + srcs: ["src/**/*.java"], + path: "src", + visibility: ["//visibility:private"], +} + +filegroup { + name: "services.startop.iorap-sources", + srcs: [ + ":services.startop.iorap-javasources", + ":iorap-aidl", + ], + visibility: ["//frameworks/base/services:__subpackages__"], +} + java_library_static { name: "services.startop.iorap", - - aidl: { - include_dirs: [ - "system/iorap/binder", - ], - }, - + srcs: [":services.startop.iorap-sources"], libs: ["services.core"], - - srcs: [ - ":iorap-aidl", - "**/*.java", - ], }