blob: f9b984697fa6a58374aa6ac367704666eb17dcfa [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)
70LOCAL_SDK_VERSION := 21
Narayan Kamathdf5e4d42015-01-20 12:55:52 +000071LOCAL_MODULE_TAGS := optional
72include $(BUILD_JAVA_LIBRARY)
Ying Wang30a19d92015-02-25 12:22:35 -080073
Narayan Kamathabddcd82015-04-08 18:27:53 +010074##############################################
75# Generate the stub source files
76include $(CLEAR_VARS)
77LOCAL_SRC_FILES := $(apache_http_src_files)
Narayan Kamath0399abc2016-02-08 17:04:51 +000078LOCAL_SRC_FILES += \
79 ../../frameworks/base/core/java/org/apache/http/conn/ConnectTimeoutException.java \
80 ../../frameworks/base/core/java/org/apache/http/conn/scheme/HostNameResolver.java \
81 ../../frameworks/base/core/java/org/apache/http/conn/scheme/LayeredSocketFactory.java \
82 ../../frameworks/base/core/java/org/apache/http/conn/scheme/SocketFactory.java \
83 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AbstractVerifier.java \
84 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AllowAllHostnameVerifier.java \
85 ../../frameworks/base/core/java/org/apache/http/conn/ssl/AndroidDistinguishedNameParser.java \
86 ../../frameworks/base/core/java/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.java \
87 ../../frameworks/base/core/java/org/apache/http/conn/ssl/SSLSocketFactory.java \
88 ../../frameworks/base/core/java/org/apache/http/conn/ssl/StrictHostnameVerifier.java \
89 ../../frameworks/base/core/java/org/apache/http/conn/ssl/X509HostnameVerifier.java \
90 ../../frameworks/base/core/java/org/apache/http/params/CoreConnectionPNames.java \
91 ../../frameworks/base/core/java/org/apache/http/params/HttpConnectionParams.java \
92 ../../frameworks/base/core/java/org/apache/http/params/HttpParams.java \
93 ../../frameworks/base/core/java/android/net/http/HttpResponseCache.java \
94 ../../frameworks/base/core/java/android/net/http/SslCertificate.java \
95 ../../frameworks/base/core/java/android/net/http/SslError.java \
Ian Rogersdde45742016-04-29 16:21:35 -070096 ../../frameworks/base/core/java/com/android/internal/util/HexDump.java \
Narayan Kamath0399abc2016-02-08 17:04:51 +000097
Ian Rogersdde45742016-04-29 16:21:35 -070098LOCAL_JAVA_LIBRARIES := bouncycastle okhttp $(apache_http_java_libs)
Narayan Kamathabddcd82015-04-08 18:27:53 +010099LOCAL_MODULE_CLASS := JAVA_LIBRARIES
100LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src \
Narayan Kamath0399abc2016-02-08 17:04:51 +0000101 $(LOCAL_PATH)/android \
102 $(LOCAL_PATH)/../../frameworks/base/core/java/org/apache
Narayan Kamathabddcd82015-04-08 18:27:53 +0100103
Paul Duffin03a95652017-07-14 13:48:42 +0100104APACHE_HTTP_LEGACY_OUTPUT_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/api.txt
105APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/removed.txt
106
107APACHE_HTTP_LEGACY_API_FILE := $(LOCAL_PATH)/api/apache-http-legacy-current.txt
108APACHE_HTTP_LEGACY_REMOVED_API_FILE := $(LOCAL_PATH)/api/apache-http-legacy-removed.txt
109
Narayan Kamathabddcd82015-04-08 18:27:53 +0100110LOCAL_DROIDDOC_OPTIONS:= \
111 -stubpackages $(subst $(space),:,$(apache_http_packages)) \
Narayan Kamath3049bb72015-04-09 13:06:40 +0100112 -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/src \
Paul Duffin03a95652017-07-14 13:48:42 +0100113 -nodocs \
114 -api $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) \
115 -removedApi $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE) \
Narayan Kamathabddcd82015-04-08 18:27:53 +0100116
117LOCAL_SDK_VERSION := 21
118LOCAL_UNINSTALLABLE_MODULE := true
119LOCAL_MODULE := apache-http-stubs-gen
120
121include $(BUILD_DROIDDOC)
Paul Duffin03a95652017-07-14 13:48:42 +0100122
123# Remember the target that will trigger the code generation.
Narayan Kamathabddcd82015-04-08 18:27:53 +0100124apache_http_stubs_gen_stamp := $(full_target)
125
Paul Duffin03a95652017-07-14 13:48:42 +0100126# Add some additional dependencies
127$(APACHE_HTTP_LEGACY_OUTPUT_API_FILE): $(full_target)
128$(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE): $(full_target)
129
Ying Wang80540ef2015-04-14 18:42:03 -0700130# For unbundled build we'll use the prebuilt jar from prebuilts/sdk.
Ying Wangcc9d1282016-02-18 20:02:29 +0000131ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
Narayan Kamathabddcd82015-04-08 18:27:53 +0100132###############################################
133# Build the stub source files into a jar.
134include $(CLEAR_VARS)
Narayan Kamath3049bb72015-04-09 13:06:40 +0100135LOCAL_MODULE := org.apache.http.legacy
Narayan Kamathabddcd82015-04-08 18:27:53 +0100136LOCAL_SOURCE_FILES_ALL_GENERATED := true
Ying Wang80540ef2015-04-14 18:42:03 -0700137LOCAL_SDK_VERSION := 21
Narayan Kamathabddcd82015-04-08 18:27:53 +0100138# Make sure to run droiddoc first to generate the stub source files.
Colin Crossad1d58e2017-05-30 10:41:08 -0700139LOCAL_ADDITIONAL_DEPENDENCIES := $(apache_http_stubs_gen_stamp)
140include $(BUILD_STATIC_JAVA_LIBRARY)
Narayan Kamathabddcd82015-04-08 18:27:53 +0100141
Ying Wang30a19d92015-02-25 12:22:35 -0800142# Archive a copy of the classes.jar in SDK build.
143$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):org.apache.http.legacy.jar)
Paul Duffin03a95652017-07-14 13:48:42 +0100144
145# Check that the org.apache.http.legacy.stubs library has not changed
146# ===================================================================
147
148# Check that the API we're building hasn't changed from the not-yet-released
149# SDK version.
150$(eval $(call check-api, \
151 check-apache-http-legacy-api-current, \
152 $(APACHE_HTTP_LEGACY_API_FILE), \
153 $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE), \
154 $(APACHE_HTTP_LEGACY_REMOVED_API_FILE), \
155 $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE), \
156 -error 2 -error 3 -error 4 -error 5 -error 6 \
157 -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
158 -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
159 -error 25 -error 26 -error 27, \
160 cat $(LOCAL_PATH)/api/apicheck_msg_apache_http_legacy.txt, \
161 check-apache-http-legacy-api, \
162 $(call doc-timestamp-for,apache-http-stubs-gen) \
163 ))
164
165.PHONY: check-apache-http-legacy-api
166checkapi: check-apache-http-legacy-api
167
168.PHONY: update-apache-http-legacy-api
169update-api: update-apache-http-legacy-api
170
171update-apache-http-legacy-api: $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) | $(ACP)
172 @echo Copying apache-http-legacy-current.txt
173 $(hide) $(ACP) $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) $(APACHE_HTTP_LEGACY_API_FILE)
174 @echo Copying apache-http-legacy-removed.txt
175 $(hide) $(ACP) $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE) $(APACHE_HTTP_LEGACY_REMOVED_API_FILE)
176
Ying Wang80540ef2015-04-14 18:42:03 -0700177endif # not TARGET_BUILD_APPS
Narayan Kamathabddcd82015-04-08 18:27:53 +0100178
179apache_http_src_files :=
180apache_http_java_libs :=
181apache_http_packages :=
182apache_http_stubs_gen_stamp :=