blob: d4e42b746392e635b5f7a8b0c8475d0510358475 [file] [log] [blame]
Narayan Kamathdf5e4d42015-01-20 12:55:52 +00001# Copyright (C) 2014 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15LOCAL_PATH:= $(call my-dir)
16
Narayan Kamathabddcd82015-04-08 18:27:53 +010017apache_http_src_files := \
Narayan Kamatha8b46a32014-11-27 18:15:37 +000018 $(call all-java-files-under,src) \
19 $(call all-java-files-under,android)
Narayan Kamathdf5e4d42015-01-20 12:55:52 +000020
Narayan Kamathabddcd82015-04-08 18:27:53 +010021apache_http_java_libs := conscrypt
Narayan Kamath3e387462015-01-23 15:31:00 +000022
Narayan Kamathabddcd82015-04-08 18:27:53 +010023apache_http_packages := $(strip \
24 com.android.internal.http.multipart \
25 org.apache.commons.logging \
26 org.apache.commons.logging.impl \
27 org.apache.commons.codec \
28 org.apache.commons.codec.net \
29 org.apache.commons.codec.language \
30 org.apache.commons.codec.binary \
31 org.apache.http.params \
32 org.apache.http \
33 org.apache.http.client.params \
34 org.apache.http.client \
35 org.apache.http.client.utils \
36 org.apache.http.client.protocol \
37 org.apache.http.client.methods \
38 org.apache.http.client.entity \
39 org.apache.http.protocol \
40 org.apache.http.impl \
41 org.apache.http.impl.client \
42 org.apache.http.impl.auth \
43 org.apache.http.impl.cookie \
44 org.apache.http.impl.entity \
45 org.apache.http.impl.io \
46 org.apache.http.impl.conn \
47 org.apache.http.impl.conn.tsccm \
48 org.apache.http.message \
49 org.apache.http.auth.params \
50 org.apache.http.auth \
51 org.apache.http.cookie.params \
52 org.apache.http.cookie \
53 org.apache.http.util \
54 org.apache.http.entity \
55 org.apache.http.io \
56 org.apache.http.conn.params \
57 org.apache.http.conn \
58 org.apache.http.conn.routing \
59 org.apache.http.conn.scheme \
60 org.apache.http.conn.util \
61 android.net.compatibility \
62 android.net.http \
63)
64
65include $(CLEAR_VARS)
Narayan Kamath3049bb72015-04-09 13:06:40 +010066LOCAL_MODULE := org.apache.http.legacy.boot
Narayan Kamathabddcd82015-04-08 18:27:53 +010067LOCAL_MODULE_TAGS := optional
68LOCAL_JAVA_LIBRARIES := $(apache_http_java_libs)
69LOCAL_SRC_FILES := $(apache_http_src_files)
Narayan Kamathdf5e4d42015-01-20 12:55:52 +000070LOCAL_MODULE_TAGS := optional
71include $(BUILD_JAVA_LIBRARY)
Ying Wang30a19d92015-02-25 12:22:35 -080072
Narayan Kamathabddcd82015-04-08 18:27:53 +010073##############################################
74# Generate the stub source files
75include $(CLEAR_VARS)
76LOCAL_SRC_FILES := $(apache_http_src_files)
Narayan Kamath0399abc2016-02-08 17:04:51 +000077LOCAL_SRC_FILES += \
78 ../../frameworks/base/core/java/org/apache/http/conn/ConnectTimeoutException.java \
79 ../../frameworks/base/core/java/org/apache/http/conn/scheme/HostNameResolver.java \
80 ../../frameworks/base/core/java/org/apache/http/conn/scheme/LayeredSocketFactory.java \
81 ../../frameworks/base/core/java/org/apache/http/conn/scheme/SocketFactory.java \
82 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AbstractVerifier.java \
83 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AllowAllHostnameVerifier.java \
84 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AndroidDistinguishedNameParser.java \
85 ../../frameworks/base/core/java/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.java \
86 ../../frameworks/base/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java \
87 ../../frameworks/base/core/java/org/apache/http/conn/ssl/StrictHostnameVerifier.java \
88 ../../frameworks/base/core/java/org/apache/http/conn/ssl/X509HostnameVerifier.java \
89 ../../frameworks/base/core/java/org/apache/http/params/CoreConnectionPNames.java \
90 ../../frameworks/base/core/java/org/apache/http/params/HttpConnectionParams.java \
91 ../../frameworks/base/core/java/org/apache/http/params/HttpParams.java \
92 ../../frameworks/base/core/java/android/net/http/HttpResponseCache.java \
93 ../../frameworks/base/core/java/android/net/http/SslCertificate.java \
94 ../../frameworks/base/core/java/android/net/http/SslError.java \
Ian Rogersdde45742016-04-29 16:21:35 -070095 ../../frameworks/base/core/java/com/android/internal/util/HexDump.java \
Narayan Kamath0399abc2016-02-08 17:04:51 +000096
Ian Rogersdde45742016-04-29 16:21:35 -070097LOCAL_JAVA_LIBRARIES := bouncycastle okhttp $(apache_http_java_libs)
Narayan Kamathabddcd82015-04-08 18:27:53 +010098LOCAL_MODULE_CLASS := JAVA_LIBRARIES
99LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src \
Narayan Kamath0399abc2016-02-08 17:04:51 +0000100 $(LOCAL_PATH)/android \
101 $(LOCAL_PATH)/../../frameworks/base/core/java/org/apache
Narayan Kamathabddcd82015-04-08 18:27:53 +0100102
Paul Duffin03a95652017-07-14 13:48:42 +0100103APACHE_HTTP_LEGACY_OUTPUT_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/api.txt
104APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/removed.txt
105
106APACHE_HTTP_LEGACY_API_FILE := $(LOCAL_PATH)/api/apache-http-legacy-current.txt
107APACHE_HTTP_LEGACY_REMOVED_API_FILE := $(LOCAL_PATH)/api/apache-http-legacy-removed.txt
108
Narayan Kamathabddcd82015-04-08 18:27:53 +0100109LOCAL_DROIDDOC_OPTIONS:= \
110 -stubpackages $(subst $(space),:,$(apache_http_packages)) \
Narayan Kamath3049bb72015-04-09 13:06:40 +0100111 -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/src \
Paul Duffin03a95652017-07-14 13:48:42 +0100112 -nodocs \
113 -api $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) \
114 -removedApi $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE) \
Narayan Kamathabddcd82015-04-08 18:27:53 +0100115
116LOCAL_SDK_VERSION := 21
117LOCAL_UNINSTALLABLE_MODULE := true
118LOCAL_MODULE := apache-http-stubs-gen
119
120include $(BUILD_DROIDDOC)
Paul Duffin03a95652017-07-14 13:48:42 +0100121
122# Remember the target that will trigger the code generation.
Narayan Kamathabddcd82015-04-08 18:27:53 +0100123apache_http_stubs_gen_stamp := $(full_target)
124
Paul Duffin03a95652017-07-14 13:48:42 +0100125# Add some additional dependencies
126$(APACHE_HTTP_LEGACY_OUTPUT_API_FILE): $(full_target)
127$(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE): $(full_target)
128
Ying Wang80540ef2015-04-14 18:42:03 -0700129# For unbundled build we'll use the prebuilt jar from prebuilts/sdk.
Ying Wangcc9d1282016-02-18 20:02:29 +0000130ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
Narayan Kamathabddcd82015-04-08 18:27:53 +0100131###############################################
132# Build the stub source files into a jar.
133include $(CLEAR_VARS)
Narayan Kamath3049bb72015-04-09 13:06:40 +0100134LOCAL_MODULE := org.apache.http.legacy
Narayan Kamathabddcd82015-04-08 18:27:53 +0100135LOCAL_SOURCE_FILES_ALL_GENERATED := true
Ying Wang80540ef2015-04-14 18:42:03 -0700136LOCAL_SDK_VERSION := 21
Narayan Kamathabddcd82015-04-08 18:27:53 +0100137# Make sure to run droiddoc first to generate the stub source files.
Colin Crossad1d58e2017-05-30 10:41:08 -0700138LOCAL_ADDITIONAL_DEPENDENCIES := $(apache_http_stubs_gen_stamp)
139include $(BUILD_STATIC_JAVA_LIBRARY)
Narayan Kamathabddcd82015-04-08 18:27:53 +0100140
Ying Wang30a19d92015-02-25 12:22:35 -0800141# Archive a copy of the classes.jar in SDK build.
142$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):org.apache.http.legacy.jar)
Paul Duffin03a95652017-07-14 13:48:42 +0100143
144# Check that the org.apache.http.legacy.stubs library has not changed
145# ===================================================================
146
147# Check that the API we're building hasn't changed from the not-yet-released
148# SDK version.
149$(eval $(call check-api, \
150 check-apache-http-legacy-api-current, \
151 $(APACHE_HTTP_LEGACY_API_FILE), \
152 $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE), \
153 $(APACHE_HTTP_LEGACY_REMOVED_API_FILE), \
154 $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE), \
155 -error 2 -error 3 -error 4 -error 5 -error 6 \
156 -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
157 -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
158 -error 25 -error 26 -error 27, \
159 cat $(LOCAL_PATH)/api/apicheck_msg_apache_http_legacy.txt, \
160 check-apache-http-legacy-api, \
161 $(call doc-timestamp-for,apache-http-stubs-gen) \
162 ))
163
164.PHONY: check-apache-http-legacy-api
165checkapi: check-apache-http-legacy-api
166
167.PHONY: update-apache-http-legacy-api
168update-api: update-apache-http-legacy-api
169
170update-apache-http-legacy-api: $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) | $(ACP)
171 @echo Copying apache-http-legacy-current.txt
172 $(hide) $(ACP) $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) $(APACHE_HTTP_LEGACY_API_FILE)
173 @echo Copying apache-http-legacy-removed.txt
174 $(hide) $(ACP) $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE) $(APACHE_HTTP_LEGACY_REMOVED_API_FILE)
175
Ying Wang80540ef2015-04-14 18:42:03 -0700176endif # not TARGET_BUILD_APPS
Narayan Kamathabddcd82015-04-08 18:27:53 +0100177
178apache_http_src_files :=
179apache_http_java_libs :=
180apache_http_packages :=
181apache_http_stubs_gen_stamp :=