blob: 4a4b5ee2af15a9b25cd223f638672a49604a2de0 [file] [log] [blame]
Bart Searsa8cc0582015-05-07 03:23:20 +00001#
2# Copyright (C) 2008 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16LOCAL_PATH := $(call my-dir)
17
Colin Cross5f4dcf62017-11-16 00:15:28 -080018# Load framework-specific path mappings used later in the build.
19include $(LOCAL_PATH)/pathmap.mk
Bart Searsa8cc0582015-05-07 03:23:20 +000020
21# Build the master framework library.
22# The framework contains too many method references (>64K) for poor old DEX.
23# So we first build the framework as a monolithic static library then split it
24# up into smaller pieces.
25# ============================================================
26
27# embedded builds use nothing in frameworks/base
28ifneq ($(ANDROID_BUILD_EMBEDDED),true)
29
Bart Searsa8cc0582015-05-07 03:23:20 +000030# Copy AIDL files to be preprocessed and included in the SDK,
31# specified relative to the root of the build tree.
32# ============================================================
33include $(CLEAR_VARS)
34
35aidl_files := \
Robert Greenwalt4dded7a2016-12-05 16:33:32 -080036 frameworks/base/telephony/java/android/telephony/mbms/DownloadRequest.aidl \
Robert Greenwalt4dded7a2016-12-05 16:33:32 -080037 frameworks/base/telephony/java/android/telephony/mbms/FileInfo.aidl \
38 frameworks/base/telephony/java/android/telephony/mbms/FileServiceInfo.aidl \
39 frameworks/base/telephony/java/android/telephony/mbms/ServiceInfo.aidl \
Robert Greenwalt4dded7a2016-12-05 16:33:32 -080040 frameworks/base/telephony/java/android/telephony/mbms/StreamingServiceInfo.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000041 frameworks/base/telephony/java/android/telephony/ServiceState.aidl \
42 frameworks/base/telephony/java/android/telephony/SubscriptionInfo.aidl \
43 frameworks/base/telephony/java/android/telephony/CellInfo.aidl \
44 frameworks/base/telephony/java/android/telephony/SignalStrength.aidl \
45 frameworks/base/telephony/java/android/telephony/IccOpenLogicalChannelResponse.aidl \
46 frameworks/base/telephony/java/android/telephony/NeighboringCellInfo.aidl \
Prerepa Viswanadham5c728992015-05-28 00:12:37 -070047 frameworks/base/telephony/java/android/telephony/ModemActivityInfo.aidl \
Jeff Davidson35cda392017-02-27 09:46:00 -080048 frameworks/base/telephony/java/android/telephony/UiccAccessRule.aidl \
Jack Yu1d1022e2017-11-20 11:14:23 -080049 frameworks/base/telephony/java/android/telephony/data/DataProfile.aidl \
Jeff Davidson35cda392017-02-27 09:46:00 -080050 frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.aidl \
Jeff Davidson91c3d072017-04-12 12:17:11 -070051 frameworks/base/telephony/java/android/telephony/euicc/EuiccInfo.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000052 frameworks/base/location/java/android/location/Location.aidl \
53 frameworks/base/location/java/android/location/Address.aidl \
54 frameworks/base/location/java/android/location/Criteria.aidl \
55 frameworks/base/media/java/android/media/MediaMetadata.aidl \
56 frameworks/base/media/java/android/media/MediaDescription.aidl \
57 frameworks/base/media/java/android/media/Rating.aidl \
58 frameworks/base/media/java/android/media/AudioAttributes.aidl \
59 frameworks/base/media/java/android/media/AudioFocusInfo.aidl \
60 frameworks/base/media/java/android/media/session/PlaybackState.aidl \
61 frameworks/base/media/java/android/media/session/MediaSession.aidl \
62 frameworks/base/media/java/android/media/tv/TvInputInfo.aidl \
63 frameworks/base/media/java/android/media/tv/TvTrackInfo.aidl \
64 frameworks/base/media/java/android/media/browse/MediaBrowser.aidl \
65 frameworks/base/wifi/java/android/net/wifi/ScanSettings.aidl \
Etan Cohen04133272016-10-26 11:22:06 -070066 frameworks/base/wifi/java/android/net/wifi/aware/ConfigRequest.aidl \
67 frameworks/base/wifi/java/android/net/wifi/aware/PublishConfig.aidl \
68 frameworks/base/wifi/java/android/net/wifi/aware/SubscribeConfig.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000069 frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pInfo.aidl \
70 frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.aidl \
71 frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pConfig.aidl \
72 frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pDevice.aidl \
73 frameworks/base/wifi/java/android/net/wifi/p2p/WifiP2pGroup.aidl \
74 frameworks/base/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.aidl \
75 frameworks/base/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.aidl \
76 frameworks/base/wifi/java/android/net/wifi/WpsInfo.aidl \
77 frameworks/base/wifi/java/android/net/wifi/ScanResult.aidl \
Vinit Deshpandea772f0c2016-01-27 19:05:24 -080078 frameworks/base/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000079 frameworks/base/wifi/java/android/net/wifi/WifiEnterpriseConfig.aidl \
80 frameworks/base/wifi/java/android/net/wifi/WifiConfiguration.aidl \
81 frameworks/base/wifi/java/android/net/wifi/WifiInfo.aidl \
82 frameworks/base/graphics/java/android/graphics/Region.aidl \
83 frameworks/base/graphics/java/android/graphics/Bitmap.aidl \
84 frameworks/base/graphics/java/android/graphics/Point.aidl \
85 frameworks/base/graphics/java/android/graphics/PointF.aidl \
86 frameworks/base/graphics/java/android/graphics/RectF.aidl \
87 frameworks/base/graphics/java/android/graphics/Rect.aidl \
Philip P. Moltmannbb9f6862015-12-01 14:44:24 -080088 frameworks/base/graphics/java/android/graphics/drawable/Icon.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000089 frameworks/base/core/java/android/accounts/AuthenticatorDescription.aidl \
90 frameworks/base/core/java/android/accounts/Account.aidl \
Michal Karpinskif77ee4f2016-10-12 16:40:06 +010091 frameworks/base/core/java/android/app/admin/ConnectEvent.aidl \
92 frameworks/base/core/java/android/app/admin/DnsEvent.aidl \
93 frameworks/base/core/java/android/app/admin/NetworkEvent.aidl \
Rubin Xud86d58c2015-05-05 16:57:37 +010094 frameworks/base/core/java/android/app/admin/SystemUpdatePolicy.aidl \
Andrew Scull5f9e6f32016-08-02 14:22:17 +010095 frameworks/base/core/java/android/app/admin/PasswordMetrics.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +000096 frameworks/base/core/java/android/print/PrintDocumentInfo.aidl \
97 frameworks/base/core/java/android/print/PageRange.aidl \
98 frameworks/base/core/java/android/print/PrintAttributes.aidl \
99 frameworks/base/core/java/android/print/PrinterCapabilitiesInfo.aidl \
100 frameworks/base/core/java/android/print/PrinterId.aidl \
101 frameworks/base/core/java/android/print/PrintJobInfo.aidl \
102 frameworks/base/core/java/android/print/PrinterInfo.aidl \
103 frameworks/base/core/java/android/print/PrintJobId.aidl \
Philip P. Moltmann9dcb86a2016-03-14 14:31:12 -0700104 frameworks/base/core/java/android/printservice/recommendation/RecommendationInfo.aidl \
Tomasz Wasilczyk8cfb0e82017-07-12 13:59:20 -0700105 frameworks/base/core/java/android/hardware/radio/ProgramSelector.aidl \
Tomasz Wasilczyk347192e2017-04-04 11:13:44 -0700106 frameworks/base/core/java/android/hardware/radio/RadioManager.aidl \
Tomasz Wasilczykc9a1ac72017-05-17 21:29:28 -0700107 frameworks/base/core/java/android/hardware/radio/RadioMetadata.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000108 frameworks/base/core/java/android/hardware/usb/UsbDevice.aidl \
109 frameworks/base/core/java/android/hardware/usb/UsbInterface.aidl \
110 frameworks/base/core/java/android/hardware/usb/UsbEndpoint.aidl \
111 frameworks/base/core/java/android/hardware/usb/UsbAccessory.aidl \
112 frameworks/base/core/java/android/os/Messenger.aidl \
113 frameworks/base/core/java/android/os/PatternMatcher.aidl \
114 frameworks/base/core/java/android/os/Message.aidl \
115 frameworks/base/core/java/android/os/UserHandle.aidl \
116 frameworks/base/core/java/android/os/ParcelUuid.aidl \
117 frameworks/base/core/java/android/os/ParcelFileDescriptor.aidl \
118 frameworks/base/core/java/android/os/ResultReceiver.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000119 frameworks/base/core/java/android/os/WorkSource.aidl \
120 frameworks/base/core/java/android/os/DropBoxManager.aidl \
121 frameworks/base/core/java/android/os/Bundle.aidl \
Sudheer Shankacc6418f2016-10-13 12:03:44 -0700122 frameworks/base/core/java/android/os/Debug.aidl \
John Reckdea6a022017-05-25 17:09:33 -0700123 frameworks/base/core/java/android/os/SharedMemory.aidl \
Sudheer Shankafc46e9b2016-10-21 17:55:27 -0700124 frameworks/base/core/java/android/os/StrictMode.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000125 frameworks/base/core/java/android/accessibilityservice/AccessibilityServiceInfo.aidl \
126 frameworks/base/core/java/android/net/Network.aidl \
127 frameworks/base/core/java/android/net/RouteInfo.aidl \
128 frameworks/base/core/java/android/net/NetworkInfo.aidl \
129 frameworks/base/core/java/android/net/IpPrefix.aidl \
130 frameworks/base/core/java/android/net/NetworkCapabilities.aidl \
131 frameworks/base/core/java/android/net/DhcpInfo.aidl \
132 frameworks/base/core/java/android/net/ProxyInfo.aidl \
133 frameworks/base/core/java/android/net/LinkProperties.aidl \
134 frameworks/base/core/java/android/net/Uri.aidl \
135 frameworks/base/core/java/android/net/NetworkRequest.aidl \
136 frameworks/base/core/java/android/net/LinkAddress.aidl \
Svet Ganov53a441c2016-04-19 19:38:00 -0700137 frameworks/base/core/java/android/util/MemoryIntArray.aidl \
P.Y. Laligandb3b9eb32015-05-11 15:02:07 -0700138 frameworks/base/core/java/android/view/Display.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000139 frameworks/base/core/java/android/view/InputDevice.aidl \
140 frameworks/base/core/java/android/view/InputEvent.aidl \
Eino-Ville Talvala5d2d7782015-12-17 16:50:50 -0800141 frameworks/native/aidl/gui/android/view/Surface.aidl \
P.Y. Laligandb3b9eb32015-05-11 15:02:07 -0700142 frameworks/base/core/java/android/view/WindowContentFrameStats.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000143 frameworks/base/core/java/android/view/inputmethod/InputMethodSubtype.aidl \
144 frameworks/base/core/java/android/view/inputmethod/CursorAnchorInfo.aidl \
145 frameworks/base/core/java/android/view/inputmethod/CompletionInfo.aidl \
146 frameworks/base/core/java/android/view/inputmethod/ExtractedText.aidl \
147 frameworks/base/core/java/android/view/inputmethod/EditorInfo.aidl \
148 frameworks/base/core/java/android/view/inputmethod/InputMethodInfo.aidl \
149 frameworks/base/core/java/android/view/inputmethod/CorrectionInfo.aidl \
150 frameworks/base/core/java/android/view/inputmethod/InputBinding.aidl \
151 frameworks/base/core/java/android/view/inputmethod/ExtractedTextRequest.aidl \
152 frameworks/base/core/java/android/view/DragEvent.aidl \
153 frameworks/base/core/java/android/view/KeyEvent.aidl \
154 frameworks/base/core/java/android/view/WindowManager.aidl \
155 frameworks/base/core/java/android/view/WindowAnimationFrameStats.aidl \
156 frameworks/base/core/java/android/view/MotionEvent.aidl \
157 frameworks/base/core/java/android/view/accessibility/AccessibilityNodeInfo.aidl \
158 frameworks/base/core/java/android/view/accessibility/AccessibilityRecord.aidl \
159 frameworks/base/core/java/android/view/accessibility/AccessibilityWindowInfo.aidl \
160 frameworks/base/core/java/android/view/accessibility/AccessibilityEvent.aidl \
161 frameworks/base/core/java/android/view/textservice/SpellCheckerSubtype.aidl \
162 frameworks/base/core/java/android/view/textservice/TextInfo.aidl \
163 frameworks/base/core/java/android/view/textservice/SpellCheckerInfo.aidl \
164 frameworks/base/core/java/android/view/textservice/SentenceSuggestionsInfo.aidl \
165 frameworks/base/core/java/android/view/textservice/SuggestionsInfo.aidl \
166 frameworks/base/core/java/android/service/carrier/CarrierIdentifier.aidl \
167 frameworks/base/core/java/android/service/carrier/MessagePdu.aidl \
Jeff Davidson91c3d072017-04-12 12:17:11 -0700168 frameworks/base/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.aidl \
Jeff Davidson35cda392017-02-27 09:46:00 -0800169 frameworks/base/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.aidl \
Jeff Davidsond02731f2017-04-09 14:31:09 -0700170 frameworks/base/core/java/android/service/euicc/GetEuiccProfileInfoListResult.aidl \
Julia Reynolds22f02b32016-12-01 15:05:13 -0500171 frameworks/base/core/java/android/service/notification/Adjustment.aidl \
172 frameworks/base/core/java/android/service/notification/Condition.aidl \
173 frameworks/base/core/java/android/service/notification/SnoozeCriterion.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000174 frameworks/base/core/java/android/service/notification/StatusBarNotification.aidl \
175 frameworks/base/core/java/android/service/chooser/ChooserTarget.aidl \
Kang Libbced1c2017-04-05 12:30:55 -0700176 frameworks/base/core/java/android/service/resolver/ResolverTarget.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000177 frameworks/base/core/java/android/speech/tts/Voice.aidl \
Daniel Nishicf9d19e2017-01-23 14:33:42 -0800178 frameworks/base/core/java/android/app/usage/CacheQuotaHint.aidl \
Jeff Sharkey8dedad32017-01-09 18:21:21 -0700179 frameworks/base/core/java/android/app/usage/ExternalStorageStats.aidl \
Jeff Sharkeye8cece92017-01-04 11:33:33 -0700180 frameworks/base/core/java/android/app/usage/StorageStats.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000181 frameworks/base/core/java/android/app/usage/UsageEvents.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000182 frameworks/base/core/java/android/app/Notification.aidl \
183 frameworks/base/core/java/android/app/NotificationManager.aidl \
184 frameworks/base/core/java/android/app/WallpaperInfo.aidl \
185 frameworks/base/core/java/android/app/AppOpsManager.aidl \
186 frameworks/base/core/java/android/app/ActivityManager.aidl \
187 frameworks/base/core/java/android/app/PendingIntent.aidl \
188 frameworks/base/core/java/android/app/AlarmManager.aidl \
189 frameworks/base/core/java/android/app/SearchableInfo.aidl \
190 frameworks/base/core/java/android/app/VoiceInteractor.aidl \
Dianne Hackborn69c6adc2015-06-02 10:52:59 -0700191 frameworks/base/core/java/android/app/assist/AssistContent.aidl \
192 frameworks/base/core/java/android/app/assist/AssistStructure.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000193 frameworks/base/core/java/android/app/job/JobParameters.aidl \
194 frameworks/base/core/java/android/app/job/JobInfo.aidl \
195 frameworks/base/core/java/android/appwidget/AppWidgetProviderInfo.aidl \
196 frameworks/base/core/java/android/content/ClipDescription.aidl \
197 frameworks/base/core/java/android/content/IntentFilter.aidl \
198 frameworks/base/core/java/android/content/Intent.aidl \
199 frameworks/base/core/java/android/content/res/Configuration.aidl \
200 frameworks/base/core/java/android/content/res/ObbInfo.aidl \
201 frameworks/base/core/java/android/content/RestrictionEntry.aidl \
202 frameworks/base/core/java/android/content/ClipData.aidl \
203 frameworks/base/core/java/android/content/SyncAdapterType.aidl \
204 frameworks/base/core/java/android/content/SyncRequest.aidl \
205 frameworks/base/core/java/android/content/PeriodicSync.aidl \
206 frameworks/base/core/java/android/content/SyncResult.aidl \
207 frameworks/base/core/java/android/content/pm/FeatureInfo.aidl \
208 frameworks/base/core/java/android/content/pm/InstrumentationInfo.aidl \
209 frameworks/base/core/java/android/content/pm/PackageInstaller.aidl \
210 frameworks/base/core/java/android/content/pm/ServiceInfo.aidl \
211 frameworks/base/core/java/android/content/pm/Signature.aidl \
212 frameworks/base/core/java/android/content/pm/ApplicationInfo.aidl \
213 frameworks/base/core/java/android/content/pm/PermissionInfo.aidl \
214 frameworks/base/core/java/android/content/pm/ActivityInfo.aidl \
Sudheer Shankafc46e9b2016-10-21 17:55:27 -0700215 frameworks/base/core/java/android/content/pm/ConfigurationInfo.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000216 frameworks/base/core/java/android/content/pm/PackageInfo.aidl \
217 frameworks/base/core/java/android/content/pm/ResolveInfo.aidl \
218 frameworks/base/core/java/android/content/pm/ProviderInfo.aidl \
219 frameworks/base/core/java/android/content/pm/PackageStats.aidl \
220 frameworks/base/core/java/android/content/pm/PermissionGroupInfo.aidl \
Makoto Onuki6f7362d92016-03-04 13:39:41 -0800221 frameworks/base/core/java/android/content/pm/ShortcutInfo.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000222 frameworks/base/core/java/android/content/pm/LabeledIntent.aidl \
223 frameworks/base/core/java/android/content/ComponentName.aidl \
224 frameworks/base/core/java/android/content/SyncStats.aidl \
225 frameworks/base/core/java/android/content/ContentValues.aidl \
226 frameworks/base/core/java/android/content/SyncInfo.aidl \
227 frameworks/base/core/java/android/content/IntentSender.aidl \
228 frameworks/base/core/java/android/widget/RemoteViews.aidl \
229 frameworks/base/core/java/android/text/style/SuggestionSpan.aidl \
230 frameworks/base/core/java/android/nfc/Tag.aidl \
231 frameworks/base/core/java/android/nfc/NdefRecord.aidl \
232 frameworks/base/core/java/android/nfc/NdefMessage.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000233 frameworks/base/core/java/android/database/CursorWindow.aidl \
Jason Monkbbadff82015-11-06 15:47:26 -0500234 frameworks/base/core/java/android/service/quicksettings/Tile.aidl \
Samuel Tan239951a2016-01-05 17:29:43 -0800235 frameworks/native/aidl/binder/android/os/PersistableBundle.aidl \
Jakub Pawlowski3b38eaa2017-08-09 00:45:34 -0700236 system/bt/binder/android/bluetooth/BluetoothHealthAppConfiguration.aidl \
237 system/bt/binder/android/bluetooth/le/AdvertiseSettings.aidl \
238 system/bt/binder/android/bluetooth/le/ScanSettings.aidl \
239 system/bt/binder/android/bluetooth/le/AdvertiseData.aidl \
240 system/bt/binder/android/bluetooth/le/ScanFilter.aidl \
241 system/bt/binder/android/bluetooth/le/ScanResult.aidl \
242 system/bt/binder/android/bluetooth/BluetoothDevice.aidl \
Robin Lee10606942016-03-30 18:52:40 +0100243 system/netd/server/binder/android/net/UidRange.aidl \
Robert Greenwalt37409c52016-06-02 13:43:27 -0700244 frameworks/base/telephony/java/android/telephony/PcoData.aidl \
Bart Searsa8cc0582015-05-07 03:23:20 +0000245
246gen := $(TARGET_OUT_COMMON_INTERMEDIATES)/framework.aidl
247$(gen): PRIVATE_SRC_FILES := $(aidl_files)
248ALL_SDK_FILES += $(gen)
249$(gen): $(aidl_files) | $(AIDL)
250 @echo Aidl Preprocess: $@
251 $(hide) $(AIDL) --preprocess $@ $(PRIVATE_SRC_FILES)
252
253# the documentation
254# ============================================================
255
256# TODO: deal with com/google/android/googleapps
257packages_to_document := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800258 android \
259 javax/microedition/khronos \
260 org/apache/http/conn \
261 org/apache/http/params \
Bart Searsa8cc0582015-05-07 03:23:20 +0000262
263# include definition of libcore_to_document
264include libcore/Docs.mk
265
Bart Searsa8cc0582015-05-07 03:23:20 +0000266non_base_dirs := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800267 ../opt/telephony/src/java/android/telephony \
268 ../opt/telephony/src/java/android/telephony/gsm \
269 ../opt/net/voip/src/java/android/net/rtp \
270 ../opt/net/voip/src/java/android/net/sip \
Bart Searsa8cc0582015-05-07 03:23:20 +0000271
Paul Duffinc08090f2017-06-29 14:58:43 +0100272framework_base_android_test_mock_src_files := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800273 $(call all-java-files-under, test-runner/src/android/test/mock)
Paul Duffinc08090f2017-06-29 14:58:43 +0100274
275framework_base_android_test_runner_excluding_mock_src_files := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800276 $(filter-out $(framework_base_android_test_mock_src_files), $(call all-java-files-under, test-runner/src))
Paul Duffinc08090f2017-06-29 14:58:43 +0100277
Colin Cross5f4dcf62017-11-16 00:15:28 -0800278# Find all files in specific directories (relative to frameworks/base)
279# to document and check apis
280files_to_check_apis := \
281 $(call find-other-java-files, \
282 legacy-test/src \
283 $(non_base_dirs) \
284 )
Bart Searsa8cc0582015-05-07 03:23:20 +0000285
Colin Cross5f4dcf62017-11-16 00:15:28 -0800286# Find all files in specific packages that were used to compile
287# framework.jar to document and check apis
288files_to_check_apis += \
289 $(addprefix ../../,\
290 $(filter \
291 $(foreach dir,$(FRAMEWORKS_BASE_JAVA_SRC_DIRS),\
292 $(foreach package,$(packages_to_document),\
293 $(dir)/$(package)/%.java)),\
294 $(SOONG_FRAMEWORK_SRCS)))
295
296# Find all generated files that were used to compile framework.jar
297files_to_check_apis += \
298 $(addprefix ../../,\
299 $(filter $(OUT_DIR)/%,\
300 $(SOONG_FRAMEWORK_SRCS)))
George Mountf6be9932015-12-03 07:39:55 -0800301
Bart Searsa8cc0582015-05-07 03:23:20 +0000302# These are relative to frameworks/base
303# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk
Colin Cross5f4dcf62017-11-16 00:15:28 -0800304files_to_document := \
305 $(files_to_check_apis) \
306 $(call find-other-java-files,\
307 $(addprefix ../../, $(FRAMEWORKS_DATA_BINDING_JAVA_SRC_DIRS)) \
308 test-runner/src)
George Mountf6be9932015-12-03 07:39:55 -0800309
Bart Searsa8cc0582015-05-07 03:23:20 +0000310# These are relative to frameworks/base
311html_dirs := \
312 $(FRAMEWORKS_BASE_SUBDIRS) \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800313 $(non_base_dirs) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000314
315# Common sources for doc check and api check
316common_src_files := \
317 $(call find-other-html-files, $(html_dirs)) \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800318 $(addprefix ../../, $(libcore_to_document)) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000319
320# These are relative to frameworks/base
321framework_docs_LOCAL_SRC_FILES := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800322 $(files_to_document) \
323 $(common_src_files) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000324
325# These are relative to frameworks/base
326framework_docs_LOCAL_API_CHECK_SRC_FILES := \
Colin Cross5f4dcf62017-11-16 00:15:28 -0800327 $(framework_base_android_test_mock_src_files) \
328 $(framework_base_android_test_runner_excluding_mock_src_files) \
329 $(files_to_check_apis) \
330 $(common_src_files) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000331
332# This is used by ide.mk as the list of source files that are
333# always included.
334INTERNAL_SDK_SOURCE_DIRS := $(addprefix $(LOCAL_PATH)/,$(dirs_to_document))
335
336framework_docs_LOCAL_DROIDDOC_SOURCE_PATH := \
337 $(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
338
Colin Cross5f4dcf62017-11-16 00:15:28 -0800339framework_docs_LOCAL_SRCJARS := $(SOONG_FRAMEWORK_SRCJARS)
340
Bart Searsa8cc0582015-05-07 03:23:20 +0000341framework_docs_LOCAL_INTERMEDIATE_SOURCES := \
Colin Cross72d359f2017-10-27 10:46:53 -0700342 $(patsubst $(TARGET_OUT_COMMON_INTERMEDIATES)/%,%,$(libcore_to_document_generated))
Bart Searsa8cc0582015-05-07 03:23:20 +0000343
344framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES := \
Piotr Jastrzebskicfa292e2015-02-17 16:58:52 +0000345 core-oj \
Bart Searsa8cc0582015-05-07 03:23:20 +0000346 core-libart \
347 conscrypt \
348 bouncycastle \
349 okhttp \
350 ext \
Rayhaan Jaufeerally2e47a6e2015-08-03 13:54:28 +0100351 icu4j \
Bart Searsa8cc0582015-05-07 03:23:20 +0000352 framework \
Paul Duffinc08090f2017-06-29 14:58:43 +0100353 voip-common \
354 android.test.mock \
Bart Searsa8cc0582015-05-07 03:23:20 +0000355
Alan Viverette2d362a52017-04-05 10:21:58 -0400356# Platform docs can refer to Support Library APIs, but we don't actually build
357# them as part of the docs target, so we need to include them on the classpath.
Bart Searsa8cc0582015-05-07 03:23:20 +0000358framework_docs_LOCAL_JAVA_LIBRARIES := \
359 $(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES) \
360 $(FRAMEWORKS_SUPPORT_JAVA_LIBRARIES)
361
362framework_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES
363framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html
364# The since flag (-since N.xml API_LEVEL) is used to add API Level information
365# to the reference documentation. Must be in order of oldest to newest.
366#
367# Conscrypt (com.android.org.conscrypt) is an implementation detail and should
368# not be referenced in the documentation.
369framework_docs_LOCAL_DROIDDOC_OPTIONS := \
Jeff Sharkey0f3f60b2017-04-24 18:06:20 -0600370 -android \
Bart Searsa8cc0582015-05-07 03:23:20 +0000371 -knowntags ./frameworks/base/docs/knowntags.txt \
Narayan Kamath2c4f2842015-07-27 14:02:11 +0100372 -knowntags ./libcore/known_oj_tags.txt \
Jeff Sharkeybfc4fcd2017-06-05 17:38:17 -0600373 -manifest ./frameworks/base/core/res/AndroidManifest.xml \
Bart Searsa8cc0582015-05-07 03:23:20 +0000374 -hidePackage com.android.org.conscrypt \
375 -since $(SRC_API_DIR)/1.xml 1 \
376 -since $(SRC_API_DIR)/2.xml 2 \
377 -since $(SRC_API_DIR)/3.xml 3 \
378 -since $(SRC_API_DIR)/4.xml 4 \
379 -since $(SRC_API_DIR)/5.xml 5 \
380 -since $(SRC_API_DIR)/6.xml 6 \
381 -since $(SRC_API_DIR)/7.xml 7 \
382 -since $(SRC_API_DIR)/8.xml 8 \
383 -since $(SRC_API_DIR)/9.xml 9 \
384 -since $(SRC_API_DIR)/10.xml 10 \
385 -since $(SRC_API_DIR)/11.xml 11 \
386 -since $(SRC_API_DIR)/12.xml 12 \
387 -since $(SRC_API_DIR)/13.xml 13 \
388 -since $(SRC_API_DIR)/14.txt 14 \
389 -since $(SRC_API_DIR)/15.txt 15 \
390 -since $(SRC_API_DIR)/16.txt 16 \
391 -since $(SRC_API_DIR)/17.txt 17 \
392 -since $(SRC_API_DIR)/18.txt 18 \
393 -since $(SRC_API_DIR)/19.txt 19 \
394 -since $(SRC_API_DIR)/20.txt 20 \
395 -since $(SRC_API_DIR)/21.txt 21 \
396 -since $(SRC_API_DIR)/22.txt 22 \
Joe Fernandez1827e322015-08-12 19:45:22 -0700397 -since $(SRC_API_DIR)/23.txt 23 \
Dirk Dougherty5f60f7c2016-06-14 16:26:28 -0700398 -since $(SRC_API_DIR)/24.txt 24 \
Dirk Dougherty3376f582016-10-14 10:27:08 -0700399 -since $(SRC_API_DIR)/25.txt 25 \
Dirk Doughertyfdad0ba2017-06-09 14:43:32 -0700400 -since $(SRC_API_DIR)/26.txt 26 \
Andrew Solovaya6019b22017-10-06 14:27:20 -0700401 -since $(SRC_API_DIR)/27.txt 27 \
Jeff Sharkey67f9d502017-08-05 13:49:13 -0600402 -werror -lerror -hide 111 -hide 113 -hide 121 -hide 125 -hide 126 -hide 127 -hide 128 \
Jeff Sharkey0f3f60b2017-04-24 18:06:20 -0600403 -overview $(LOCAL_PATH)/core/java/overview.html \
Bart Searsa8cc0582015-05-07 03:23:20 +0000404
405framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR:= \
406 $(call intermediates-dir-for,JAVA_LIBRARIES,framework,,COMMON)
407
408framework_docs_LOCAL_ADDITIONAL_JAVA_DIR:= \
Alan Viverette2d362a52017-04-05 10:21:58 -0400409 $(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
Bart Searsa8cc0582015-05-07 03:23:20 +0000410
411framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES := \
Narayan Kamathc21739a2015-07-14 13:39:23 +0100412 frameworks/base/docs/knowntags.txt \
Colin Cross72d359f2017-10-27 10:46:53 -0700413 $(libcore_to_document_generated)
Bart Searsa8cc0582015-05-07 03:23:20 +0000414
415samples_dir := development/samples/browseable
416
417# Whitelist of valid groups, used for default TOC grouping. Each sample must
418# belong to one (and only one) group. Assign samples to groups by setting
419# a sample.group var to one of these groups in the sample's _index.jd.
420sample_groups := -samplegroup Admin \
421 -samplegroup Background \
422 -samplegroup Connectivity \
423 -samplegroup Content \
424 -samplegroup Input \
425 -samplegroup Media \
426 -samplegroup Notification \
427 -samplegroup RenderScript \
428 -samplegroup Security \
429 -samplegroup Sensors \
Trevor Johns4cbe3592015-05-27 14:50:51 -0700430 -samplegroup System \
Bart Searsa8cc0582015-05-07 03:23:20 +0000431 -samplegroup Testing \
432 -samplegroup UI \
433 -samplegroup Views \
434 -samplegroup Wearable
435
436## SDK version identifiers used in the published docs
437 # major[.minor] version for current SDK. (full releases only)
smain@google.comdde8deb2016-08-29 18:36:50 -0700438framework_docs_SDK_VERSION:=7.0
Bart Searsa8cc0582015-05-07 03:23:20 +0000439 # release version (ie "Release x") (full releases only)
440framework_docs_SDK_REL_ID:=1
441
442framework_docs_LOCAL_DROIDDOC_OPTIONS += \
Billy Lamberta75dbc8f2017-03-03 13:09:15 -0800443 -hdf dac true \
Scott Mainf8cdfc82017-03-21 13:43:31 -0700444 -hdf sdk.codename O \
445 -hdf sdk.preview.version 1 \
Bart Searsa8cc0582015-05-07 03:23:20 +0000446 -hdf sdk.version $(framework_docs_SDK_VERSION) \
447 -hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
Scott Mainf8cdfc82017-03-21 13:43:31 -0700448 -hdf sdk.preview 0 \
449 -resourcesdir $(LOCAL_PATH)/docs/html/reference/images/ \
450 -resourcesoutdir reference/android/images/
Bart Searsa8cc0582015-05-07 03:23:20 +0000451
Alan Viverette2d362a52017-04-05 10:21:58 -0400452# Federate Support Library references against local API file.
453framework_docs_LOCAL_DROIDDOC_OPTIONS += \
454 -federate SupportLib https://developer.android.com \
455 -federationapi SupportLib prebuilts/sdk/current/support-api.txt
456
Bart Searsa8cc0582015-05-07 03:23:20 +0000457# ==== the api stubs and current.xml ===========================
458include $(CLEAR_VARS)
459
460LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
461LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800462LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000463LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
464LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
465LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
466LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
467LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
468LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
469
470LOCAL_MODULE := api-stubs
471
Ying Wang0f92a2e2015-07-16 14:20:22 -0700472LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_stubs_current_intermediates/src
473
Bart Searsa8cc0582015-05-07 03:23:20 +0000474LOCAL_DROIDDOC_OPTIONS:=\
475 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700476 -referenceonly \
Bart Searsa8cc0582015-05-07 03:23:20 +0000477 -api $(INTERNAL_PLATFORM_API_FILE) \
478 -removedApi $(INTERNAL_PLATFORM_REMOVED_API_FILE) \
479 -nodocs
480
Scott Main15b85172017-02-21 14:30:58 -0800481LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000482
483LOCAL_UNINSTALLABLE_MODULE := true
484
485include $(BUILD_DROIDDOC)
486
487# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
Colin Cross5f4dcf62017-11-16 00:15:28 -0800488$(full_target): $(gen)
Bart Searsa8cc0582015-05-07 03:23:20 +0000489$(INTERNAL_PLATFORM_API_FILE): $(full_target)
490$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE))
491
492# ==== the system api stubs ===================================
493include $(CLEAR_VARS)
494
495LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
496LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800497LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000498LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
499LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
500LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
501LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
502LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
503LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
504
505LOCAL_MODULE := system-api-stubs
506
Ying Wang0f92a2e2015-07-16 14:20:22 -0700507LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src
508
Bart Searsa8cc0582015-05-07 03:23:20 +0000509LOCAL_DROIDDOC_OPTIONS:=\
510 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700511 -referenceonly \
Bart Searsa8cc0582015-05-07 03:23:20 +0000512 -showAnnotation android.annotation.SystemApi \
513 -api $(INTERNAL_PLATFORM_SYSTEM_API_FILE) \
514 -removedApi $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE) \
Jeff Sharkey05461c02017-05-09 19:01:09 -0600515 -exactApi $(INTERNAL_PLATFORM_SYSTEM_EXACT_API_FILE) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000516 -nodocs
517
Scott Main15b85172017-02-21 14:30:58 -0800518LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000519
520LOCAL_UNINSTALLABLE_MODULE := true
521
522include $(BUILD_DROIDDOC)
523
524# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
Colin Cross5f4dcf62017-11-16 00:15:28 -0800525$(full_target): $(gen)
Bart Searsa8cc0582015-05-07 03:23:20 +0000526$(INTERNAL_PLATFORM_SYSTEM_API_FILE): $(full_target)
527$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_SYSTEM_API_FILE))
528
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000529# ==== the test api stubs ===================================
530include $(CLEAR_VARS)
531
532LOCAL_SRC_FILES:=$(framework_docs_LOCAL_API_CHECK_SRC_FILES)
533LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800534LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000535LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_API_CHECK_JAVA_LIBRARIES)
536LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
537LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
538LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
539LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_API_CHECK_ADDITIONAL_JAVA_DIR)
540LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
541
542LOCAL_MODULE := test-api-stubs
543
544LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src
545
546LOCAL_DROIDDOC_OPTIONS:=\
547 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700548 -referenceonly \
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000549 -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src \
550 -showAnnotation android.annotation.TestApi \
551 -api $(INTERNAL_PLATFORM_TEST_API_FILE) \
552 -removedApi $(INTERNAL_PLATFORM_TEST_REMOVED_API_FILE) \
Jeff Sharkey05461c02017-05-09 19:01:09 -0600553 -exactApi $(INTERNAL_PLATFORM_TEST_EXACT_API_FILE) \
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000554 -nodocs
555
Scott Main15b85172017-02-21 14:30:58 -0800556LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000557
558LOCAL_UNINSTALLABLE_MODULE := true
559
560include $(BUILD_DROIDDOC)
561
562# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
Colin Cross5f4dcf62017-11-16 00:15:28 -0800563$(full_target): $(gen)
Michael Wrightb2b2c0e2015-11-06 15:21:13 +0000564$(INTERNAL_PLATFORM_TEST_API_FILE): $(full_target)
565$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_TEST_API_FILE))
566
Bart Searsa8cc0582015-05-07 03:23:20 +0000567# ==== check javadoc comments but don't generate docs ========
568include $(CLEAR_VARS)
569
570LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
571LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800572LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000573LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
574LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
575LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
576LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
577LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
578LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
579
580LOCAL_MODULE := doc-comment-check
581
582LOCAL_DROIDDOC_OPTIONS:=\
583 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700584 -referenceonly \
Bart Searsa8cc0582015-05-07 03:23:20 +0000585 -parsecomments
586
Scott Main15b85172017-02-21 14:30:58 -0800587LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000588
589LOCAL_UNINSTALLABLE_MODULE := true
590
591include $(BUILD_DROIDDOC)
592
593# $(gen), i.e. framework.aidl, is also needed while building against the current stub.
Colin Cross5f4dcf62017-11-16 00:15:28 -0800594$(full_target): $(gen)
Bart Searsa8cc0582015-05-07 03:23:20 +0000595
596# Run this for checkbuild
597checkbuild: doc-comment-check-docs
598# Check comment when you are updating the API
599update-api: doc-comment-check-docs
600
601# ==== static html in the sdk ==================================
602include $(CLEAR_VARS)
603
604LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
605LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800606LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000607LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
608LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
609LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
610LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
611LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
612LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
613
614LOCAL_MODULE := offline-sdk
615
616LOCAL_DROIDDOC_OPTIONS:=\
617 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
618 -offlinemode \
619 -title "Android SDK" \
620 -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
smain@google.com00de8c52016-03-07 18:38:08 -0800621 -sdkvalues $(OUT_DOCS) \
smain@google.com8562ab52016-06-14 17:11:57 -0700622 -hdf android.whichdoc offline
623
Scott Main15b85172017-02-21 14:30:58 -0800624LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
smain@google.com8562ab52016-06-14 17:11:57 -0700625
626include $(BUILD_DROIDDOC)
627
628static_doc_index_redirect := $(out_dir)/index.html
629$(static_doc_index_redirect): \
630 $(LOCAL_PATH)/docs/docs-preview-index.html | $(ACP)
631 $(hide) mkdir -p $(dir $@)
632 $(hide) $(ACP) $< $@
633
634$(full_target): $(static_doc_index_redirect)
smain@google.com8562ab52016-06-14 17:11:57 -0700635
636
637# ==== static html in the sdk ==================================
638include $(CLEAR_VARS)
639
640LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
641LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800642LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
smain@google.com8562ab52016-06-14 17:11:57 -0700643LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
644LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
645LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
646LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
647LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
648LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
649
650LOCAL_MODULE := offline-sdk-referenceonly
651
652LOCAL_DROIDDOC_OPTIONS:=\
653 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
654 -offlinemode \
655 -title "Android SDK" \
656 -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
657 -sdkvalues $(OUT_DOCS) \
smain@google.com00de8c52016-03-07 18:38:08 -0800658 -hdf android.whichdoc offline \
Scott Mainf8cdfc82017-03-21 13:43:31 -0700659 -referenceonly
smain@google.com00de8c52016-03-07 18:38:08 -0800660
Scott Main15b85172017-02-21 14:30:58 -0800661LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
smain@google.com00de8c52016-03-07 18:38:08 -0800662
663include $(BUILD_DROIDDOC)
664
665static_doc_index_redirect := $(out_dir)/index.html
smain@google.com151833a2016-08-31 08:42:09 -0700666$(static_doc_index_redirect): $(LOCAL_PATH)/docs/docs-documentation-redirect.html
Dan Willemsen98ff0b72016-03-23 00:42:44 -0700667 $(copy-file-to-target)
smain@google.com00de8c52016-03-07 18:38:08 -0800668
smain@google.com2f2365d2016-09-21 14:05:50 -0700669static_doc_properties := $(out_dir)/source.properties
670$(static_doc_properties): \
671 $(LOCAL_PATH)/docs/source.properties | $(ACP)
672 $(hide) mkdir -p $(dir $@)
673 $(hide) $(ACP) $< $@
674
smain@google.com00de8c52016-03-07 18:38:08 -0800675$(full_target): $(static_doc_index_redirect)
smain@google.com2f2365d2016-09-21 14:05:50 -0700676$(full_target): $(static_doc_properties)
smain@google.com00de8c52016-03-07 18:38:08 -0800677
smain@google.com7aca8be2016-03-10 14:13:30 -0800678
Bart Searsa8cc0582015-05-07 03:23:20 +0000679# ==== docs for the web (on the androiddevdocs app engine server) =======================
680include $(CLEAR_VARS)
681
682LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
683LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800684LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000685LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
686LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
687LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
688LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
689LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
690LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
691LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
692LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
693
694LOCAL_MODULE := online-sdk
695
696LOCAL_DROIDDOC_OPTIONS:= \
697 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
698 -toroot / \
699 -hdf android.whichdoc online \
700 $(sample_groups) \
701 -hdf android.hasSamples true \
702 -samplesdir $(samples_dir)
703
Scott Main15b85172017-02-21 14:30:58 -0800704LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000705
706include $(BUILD_DROIDDOC)
707
708# ==== docs for the web (on the androiddevdocs app engine server) =======================
Bart Searsa8cc0582015-05-07 03:23:20 +0000709include $(CLEAR_VARS)
710
711LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
712LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800713LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000714LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
715LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
716LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
717LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
718LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
719LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
720LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
721LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
722
723LOCAL_MODULE := online-system-api-sdk
724
725LOCAL_DROIDDOC_OPTIONS:= \
726 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700727 -referenceonly \
Bart Searsa8cc0582015-05-07 03:23:20 +0000728 -showAnnotation android.annotation.SystemApi \
729 -title "Android SDK - Including system APIs." \
730 -toroot / \
Gina Dimino98ad8882016-05-31 17:25:48 -0700731 -hide 101 \
732 -hide 104 \
733 -hide 108 \
Bart Searsa8cc0582015-05-07 03:23:20 +0000734 -hdf android.whichdoc online \
735 $(sample_groups) \
736 -hdf android.hasSamples true \
737 -samplesdir $(samples_dir)
738
Scott Main15b85172017-02-21 14:30:58 -0800739LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Jeff Sharkey05461c02017-05-09 19:01:09 -0600740
Bart Searsa8cc0582015-05-07 03:23:20 +0000741LOCAL_UNINSTALLABLE_MODULE := true
742
743include $(BUILD_DROIDDOC)
Bart Searsa8cc0582015-05-07 03:23:20 +0000744
745# ==== docs for the web (on the devsite app engine server) =======================
746include $(CLEAR_VARS)
747LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
748LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800749LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000750LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
751LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
752LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
753LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
754LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
755LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
756LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
757# specify a second html input dir and an output path relative to OUT_DIR)
Dirk Dougherty3852c1f2016-04-10 02:05:09 -0700758LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
Bart Searsa8cc0582015-05-07 03:23:20 +0000759
760LOCAL_MODULE := ds
761
762LOCAL_DROIDDOC_OPTIONS:= \
763 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
Bart Searsa8cc0582015-05-07 03:23:20 +0000764 -toroot / \
765 -hdf android.whichdoc online \
Dirk Doughertyb042ab12016-06-14 16:26:28 -0700766 -devsite \
Dirk Dougherty3852c1f2016-04-10 02:05:09 -0700767 $(sample_groups) \
Dirk Dougherty3852c1f2016-04-10 02:05:09 -0700768 -hdf android.hasSamples true \
769 -samplesdir $(samples_dir)
Bart Searsa8cc0582015-05-07 03:23:20 +0000770
Scott Main15b85172017-02-21 14:30:58 -0800771LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000772
773include $(BUILD_DROIDDOC)
774
Dirk Doughertyb042ab12016-06-14 16:26:28 -0700775# ==== docs for the web (on the devsite app engine server) =======================
776include $(CLEAR_VARS)
777LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
778LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800779LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Dirk Doughertyb042ab12016-06-14 16:26:28 -0700780LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
781LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
782LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
783LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
784LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
785LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
786LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
787# specify a second html input dir and an output path relative to OUT_DIR)
788LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
789
790LOCAL_MODULE := ds-static
791
792LOCAL_DROIDDOC_OPTIONS:= \
793 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
794 -hdf android.whichdoc online \
795 -staticonly \
796 -toroot / \
797 -devsite \
798 -ignoreJdLinks
799
Scott Main15b85172017-02-21 14:30:58 -0800800LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Dirk Doughertyb042ab12016-06-14 16:26:28 -0700801
802include $(BUILD_DROIDDOC)
803
Dirk Dougherty7d47b552016-09-13 16:44:25 -0700804# ==== generates full navtree for resolving @links in ds postprocessing ====
805include $(CLEAR_VARS)
806
807LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
808LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800809LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Dirk Dougherty7d47b552016-09-13 16:44:25 -0700810LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
811LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
812LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
813LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
814LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
815LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
816
817LOCAL_MODULE := ds-ref-navtree
818
819LOCAL_DROIDDOC_OPTIONS:= \
820 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
821 -hdf android.whichdoc online \
822 -toroot / \
823 -atLinksNavtree \
824 -navtreeonly
825
Scott Main15b85172017-02-21 14:30:58 -0800826LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Dirk Dougherty7d47b552016-09-13 16:44:25 -0700827
828include $(BUILD_DROIDDOC)
829
Dirk Dougherty31ae1c512015-11-07 13:18:02 -0800830# ==== site updates for docs (on the androiddevdocs app engine server) =======================
Bart Searsa8cc0582015-05-07 03:23:20 +0000831include $(CLEAR_VARS)
Dirk Dougherty31ae1c512015-11-07 13:18:02 -0800832
Bart Searsa8cc0582015-05-07 03:23:20 +0000833LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
834LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800835LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000836LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
837LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
838LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
839LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
Dirk Dougherty31ae1c512015-11-07 13:18:02 -0800840LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
Bart Searsa8cc0582015-05-07 03:23:20 +0000841LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
842LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
Dirk Dougherty31ae1c512015-11-07 13:18:02 -0800843LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
Bart Searsa8cc0582015-05-07 03:23:20 +0000844
Dirk Dougherty31ae1c512015-11-07 13:18:02 -0800845LOCAL_MODULE := online-sdk-dev
Bart Searsa8cc0582015-05-07 03:23:20 +0000846
847LOCAL_DROIDDOC_OPTIONS:= \
848 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
849 -toroot / \
850 -hdf android.whichdoc online \
851 $(sample_groups) \
852 -hdf android.hasSamples true \
853 -samplesdir $(samples_dir)
854
Scott Main15b85172017-02-21 14:30:58 -0800855LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000856
857include $(BUILD_DROIDDOC)
858
Bart Searsa8cc0582015-05-07 03:23:20 +0000859# ==== docs that have all of the stuff that's @hidden =======================
860include $(CLEAR_VARS)
861
862LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
863LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
Colin Cross5f4dcf62017-11-16 00:15:28 -0800864LOCAL_SRCJARS:=$(framework_docs_LOCAL_SRCJARS)
Bart Searsa8cc0582015-05-07 03:23:20 +0000865LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
866LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
867LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
868LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
869LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
870LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
871
872LOCAL_MODULE := hidden
873LOCAL_DROIDDOC_OPTIONS:=\
874 $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
smain@google.com534bfe12016-09-01 19:52:17 -0700875 -referenceonly \
Bart Searsa8cc0582015-05-07 03:23:20 +0000876 -title "Android SDK - Including hidden APIs."
877# -hidden
878
Scott Main15b85172017-02-21 14:30:58 -0800879LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=external/doclava/res/assets/templates-sdk
Bart Searsa8cc0582015-05-07 03:23:20 +0000880
881include $(BUILD_DROIDDOC)
882
Joe Onorato1754d742016-11-21 17:51:35 -0800883# ==== java proto host library ==============================
884include $(CLEAR_VARS)
885LOCAL_MODULE := platformprotos
886LOCAL_PROTOC_OPTIMIZE_TYPE := full
887LOCAL_PROTOC_FLAGS := \
888 -Iexternal/protobuf/src
889LOCAL_SOURCE_FILES_ALL_GENERATED := true
890LOCAL_SRC_FILES := \
891 $(call all-proto-files-under, core/proto) \
892 $(call all-proto-files-under, libs/incident/proto)
893include $(BUILD_HOST_JAVA_LIBRARY)
894
Bart Searsa8cc0582015-05-07 03:23:20 +0000895
896# Include subdirectory makefiles
897# ============================================================
898
899# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
900# team really wants is to build the stuff defined by this makefile.
901ifeq (,$(ONE_SHOT_MAKEFILE))
902include $(call first-makefiles-under,$(LOCAL_PATH))
903endif
904
905endif # ANDROID_BUILD_EMBEDDED