• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 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
17apache_http_src_files := \
18    $(call all-java-files-under,src) \
19    $(call all-java-files-under,android)
20
21apache_http_java_libs := conscrypt
22
23apache_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)
66LOCAL_MODULE := org.apache.http.legacy.boot
67LOCAL_MODULE_TAGS := optional
68LOCAL_JAVA_LIBRARIES := $(apache_http_java_libs)
69LOCAL_SRC_FILES := $(apache_http_src_files)
70LOCAL_SDK_VERSION := 21
71LOCAL_MODULE_TAGS := optional
72include $(BUILD_JAVA_LIBRARY)
73
74##############################################
75# Generate the stub source files
76include $(CLEAR_VARS)
77LOCAL_SRC_FILES := $(apache_http_src_files)
78LOCAL_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 \
96    ../../frameworks/base/core/java/com/android/internal/util/HexDump.java \
97
98LOCAL_JAVA_LIBRARIES := bouncycastle okhttp $(apache_http_java_libs)
99LOCAL_MODULE_CLASS := JAVA_LIBRARIES
100LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src \
101  $(LOCAL_PATH)/android \
102  $(LOCAL_PATH)/../../frameworks/base/core/java/org/apache
103
104APACHE_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
110LOCAL_DROIDDOC_OPTIONS:= \
111    -stubpackages $(subst $(space),:,$(apache_http_packages)) \
112    -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/src \
113    -nodocs \
114    -api $(APACHE_HTTP_LEGACY_OUTPUT_API_FILE) \
115    -removedApi $(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE) \
116
117LOCAL_SDK_VERSION := 21
118LOCAL_UNINSTALLABLE_MODULE := true
119LOCAL_MODULE := apache-http-stubs-gen
120
121include $(BUILD_DROIDDOC)
122
123# Remember the target that will trigger the code generation.
124apache_http_stubs_gen_stamp := $(full_target)
125
126# Add some additional dependencies
127$(APACHE_HTTP_LEGACY_OUTPUT_API_FILE): $(full_target)
128$(APACHE_HTTP_LEGACY_OUTPUT_REMOVED_API_FILE): $(full_target)
129
130# For unbundled build we'll use the prebuilt jar from prebuilts/sdk.
131ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
132###############################################
133# Build the stub source files into a jar.
134include $(CLEAR_VARS)
135LOCAL_MODULE := org.apache.http.legacy
136LOCAL_SOURCE_FILES_ALL_GENERATED := true
137LOCAL_SDK_VERSION := 21
138# Make sure to run droiddoc first to generate the stub source files.
139LOCAL_ADDITIONAL_DEPENDENCIES := $(apache_http_stubs_gen_stamp)
140include $(BUILD_STATIC_JAVA_LIBRARY)
141
142# 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)
144
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
177endif  # not TARGET_BUILD_APPS
178
179apache_http_src_files :=
180apache_http_java_libs :=
181apache_http_packages :=
182apache_http_stubs_gen_stamp :=
183