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
97
98LOCAL_JAVA_LIBRARIES := $(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
104LOCAL_DROIDDOC_OPTIONS:= \
105    -stubpackages $(subst $(space),:,$(apache_http_packages)) \
106    -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/src \
107    -nodocs
108
109LOCAL_SDK_VERSION := 21
110LOCAL_UNINSTALLABLE_MODULE := true
111LOCAL_MODULE := apache-http-stubs-gen
112
113include $(BUILD_DROIDDOC)
114apache_http_stubs_gen_stamp := $(full_target)
115
116# For unbundled build we'll use the prebuilt jar from prebuilts/sdk.
117ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
118###############################################
119# Build the stub source files into a jar.
120include $(CLEAR_VARS)
121LOCAL_MODULE := org.apache.http.legacy
122LOCAL_SOURCE_FILES_ALL_GENERATED := true
123LOCAL_SDK_VERSION := 21
124include $(BUILD_STATIC_JAVA_LIBRARY)
125
126# Make sure to run droiddoc first to generate the stub source files.
127$(full_classes_compiled_jar) : $(apache_http_stubs_gen_stamp)
128$(full_classes_jack) : $(apache_http_stubs_gen_stamp)
129
130# Archive a copy of the classes.jar in SDK build.
131$(call dist-for-goals,sdk win_sdk,$(full_classes_jar):org.apache.http.legacy.jar)
132endif  # not TARGET_BUILD_APPS
133
134apache_http_src_files :=
135apache_http_java_libs :=
136apache_http_packages :=
137apache_http_stubs_gen_stamp :=
138