aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-25 07:00:18 -0700
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-25 07:00:18 -0700
commitfe8592ee994343821c8c4e906ee3bef3b4444e34 (patch)
treea0f1fa88e0ddeb4092567adc51184ac88f0ab78b
parentf75fc12e3a1a614ee2d5d565742764e47d9aef96 (diff)
parent0bf7e48ade52eec336f50dee4c7d22eeb887bb8e (diff)
Merge github.com:grpc/grpc into are-includes-sane
Conflicts: tools/doxygen/Doxyfile.c++.internal
-rw-r--r--.travis.yml2
-rw-r--r--BUILD27
-rw-r--r--Makefile8
-rw-r--r--build.json3
-rw-r--r--gRPC.podspec481
-rw-r--r--include/grpc++/impl/call.h1
-rw-r--r--src/compiler/objective_c_plugin.cc12
-rw-r--r--src/core/iomgr/pollset_windows.c6
-rw-r--r--src/core/support/histogram.c4
-rw-r--r--src/core/surface/completion_queue.c1
-rw-r--r--src/objective-c/GRPCClient/GRPCCall.h2
-rw-r--r--src/objective-c/GRPCClient/GRPCCall.m2
-rw-r--r--src/objective-c/GRPCClient/private/GRPCDelegateWrapper.m2
-rw-r--r--src/objective-c/GRPCClient/private/GRPCMethodName+HTTP2Encoding.h2
-rw-r--r--src/objective-c/GRPCClient/private/GRPCSecureChannel.m2
-rw-r--r--src/objective-c/GRPCClient/private/NSError+GRPC.m2
-rw-r--r--src/objective-c/ProtoRPC/ProtoRPC.h2
-rw-r--r--src/objective-c/ProtoRPC/ProtoRPC.m6
-rw-r--r--src/objective-c/ProtoRPC/ProtoService.m6
-rw-r--r--src/objective-c/RxLibrary/transformations/GRXMappingWriter.h2
-rw-r--r--src/objective-c/examples/Sample/Sample/ViewController.m8
-rw-r--r--src/objective-c/tests/GRPCClientTests.m8
-rw-r--r--src/objective-c/tests/InteropTests.m6
-rw-r--r--src/objective-c/tests/LocalClearTextTests.m8
-rw-r--r--src/objective-c/tests/RxLibraryUnitTests.m6
-rw-r--r--templates/BUILD.template27
-rw-r--r--templates/gRPC.podspec.template128
-rw-r--r--templates/tools/doxygen/Doxyfile.include2
-rw-r--r--test/proto/messages.proto27
-rw-r--r--test/proto/test.proto8
-rw-r--r--tools/codegen/core/gen_hpack_tables.c (renamed from src/core/transport/chttp2/gen_hpack_tables.c)0
-rw-r--r--tools/doxygen/Doxyfile.c++38
-rw-r--r--tools/doxygen/Doxyfile.c++.internal69
-rw-r--r--tools/doxygen/Doxyfile.core36
-rw-r--r--tools/doxygen/Doxyfile.core.internal297
-rw-r--r--tools/run_tests/sources_and_headers.json3
-rw-r--r--vsprojects/Grpc.mak4
37 files changed, 1081 insertions, 167 deletions
diff --git a/.travis.yml b/.travis.yml
index c626242557..97cf99d71e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,7 +34,7 @@ script:
- if [ ! -z "$USE_GCC" ] ; then export CC=gcc-$USE_GCC ; export CXX=g++-$USE_GCC ; fi
- ./tools/run_tests/run_tests.py -l $TEST -t -j $JOBS -c $CONFIG -s 4.0
after_success:
- - if [ "$CONFIG" = "gcov" ] ; then coveralls --exclude third_party --exclude gens --exclude test --exclude src/compiler -b. --gcov-options '\-p' ; fi
+ - if [ "$CONFIG" = "gcov" ] ; then coveralls --exclude third_party --exclude gens --exclude test --exclude tools --exclude src/compiler -b. --gcov-options '\-p' ; fi
notifications:
email: false
webhooks:
diff --git a/BUILD b/BUILD
index fbcfd66400..6d68b8e644 100644
--- a/BUILD
+++ b/BUILD
@@ -856,3 +856,30 @@ cc_binary(
+
+objc_path = "src/objective-c"
+
+rx_library_path = objc_path + "/RxLibrary"
+
+objc_library(
+ name = "rx_library",
+ hdrs = glob([
+ rx_library_path + "/*.h",
+ rx_library_path + "/transformations/*.h",
+ ]),
+ srcs = glob([
+ rx_library_path + "/*.m",
+ rx_library_path + "/transformations/*.m",
+ ]),
+ includes = [objc_path],
+ deps = [
+ ":rx_library_private",
+ ],
+)
+
+objc_library(
+ name = "rx_library_private",
+ hdrs = glob([rx_library_path + "/private/*.h"]),
+ srcs = glob([rx_library_path + "/private/*.m"]),
+ visibility = ["//visibility:private"],
+)
diff --git a/Makefile b/Makefile
index df6be1d4d2..6a2f927403 100644
--- a/Makefile
+++ b/Makefile
@@ -5645,7 +5645,7 @@ endif
GEN_HPACK_TABLES_SRC = \
- src/core/transport/chttp2/gen_hpack_tables.c \
+ tools/codegen/core/gen_hpack_tables.c \
GEN_HPACK_TABLES_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC))))
ifeq ($(NO_SECURE),true)
@@ -5656,14 +5656,14 @@ $(BINDIR)/$(CONFIG)/gen_hpack_tables: openssl_dep_error
else
-$(BINDIR)/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a
+$(BINDIR)/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
- $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_hpack_tables
+ $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_hpack_tables
endif
-$(OBJDIR)/$(CONFIG)/src/core/transport/chttp2/gen_hpack_tables.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a
+$(OBJDIR)/$(CONFIG)/tools/codegen/core/gen_hpack_tables.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a
deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep)
ifneq ($(NO_SECURE),true)
diff --git a/build.json b/build.json
index 282e82562a..8f34692f9d 100644
--- a/build.json
+++ b/build.json
@@ -997,10 +997,9 @@
"build": "tool",
"language": "c",
"src": [
- "src/core/transport/chttp2/gen_hpack_tables.c"
+ "tools/codegen/core/gen_hpack_tables.c"
],
"deps": [
- "grpc_test_util",
"gpr",
"grpc"
]
diff --git a/gRPC.podspec b/gRPC.podspec
index 9bd847be28..e2a2fbba27 100644
--- a/gRPC.podspec
+++ b/gRPC.podspec
@@ -34,7 +34,6 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Pod::Spec.new do |s|
s.name = 'gRPC'
s.version = '0.6.0'
@@ -50,31 +49,427 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.8'
s.requires_arc = true
+ objc_dir = 'src/objective-c'
+
# Reactive Extensions library for iOS.
- s.subspec 'RxLibrary' do |rs|
- rs.source_files = 'src/objective-c/RxLibrary/*.{h,m}',
- 'src/objective-c/RxLibrary/transformations/*.{h,m}',
- 'src/objective-c/RxLibrary/private/*.{h,m}'
- rs.private_header_files = 'src/objective-c/RxLibrary/private/*.h'
+ s.subspec 'RxLibrary' do |ss|
+ src_dir = "#{objc_dir}/RxLibrary"
+ ss.source_files = "#{src_dir}/*.{h,m}", "#{src_dir}/**/*.{h,m}"
+ ss.private_header_files = "#{src_dir}/private/*.h"
+ ss.header_mappings_dir = "#{objc_dir}"
end
# Core cross-platform gRPC library, written in C.
- s.subspec 'C-Core' do |cs|
- cs.source_files = 'src/core/support/env.h', 'src/core/support/file.h', 'src/core/support/murmur_hash.h', 'src/core/support/grpc_string.h', 'src/core/support/string_win32.h', 'src/core/support/thd_internal.h', 'include/grpc/support/alloc.h', 'include/grpc/support/atm.h', 'include/grpc/support/atm_gcc_atomic.h', 'include/grpc/support/atm_gcc_sync.h', 'include/grpc/support/atm_win32.h', 'include/grpc/support/cancellable_platform.h', 'include/grpc/support/cmdline.h', 'include/grpc/support/cpu.h', 'include/grpc/support/histogram.h', 'include/grpc/support/host_port.h', 'include/grpc/support/log.h', 'include/grpc/support/log_win32.h', 'include/grpc/support/port_platform.h', 'include/grpc/support/slice.h', 'include/grpc/support/slice_buffer.h', 'include/grpc/support/string_util.h', 'include/grpc/support/subprocess.h', 'include/grpc/support/sync.h', 'include/grpc/support/sync_generic.h', 'include/grpc/support/sync_posix.h', 'include/grpc/support/sync_win32.h', 'include/grpc/support/thd.h', 'include/grpc/support/grpc_time.h', 'include/grpc/support/tls.h', 'include/grpc/support/tls_gcc.h', 'include/grpc/support/tls_msvc.h', 'include/grpc/support/tls_pthread.h', 'include/grpc/support/useful.h', 'src/core/support/alloc.c', 'src/core/support/cancellable.c', 'src/core/support/cmdline.c', 'src/core/support/cpu_iphone.c', 'src/core/support/cpu_linux.c', 'src/core/support/cpu_posix.c', 'src/core/support/cpu_windows.c', 'src/core/support/env_linux.c', 'src/core/support/env_posix.c', 'src/core/support/env_win32.c', 'src/core/support/file.c', 'src/core/support/file_posix.c', 'src/core/support/file_win32.c', 'src/core/support/histogram.c', 'src/core/support/host_port.c', 'src/core/support/log.c', 'src/core/support/log_android.c', 'src/core/support/log_linux.c', 'src/core/support/log_posix.c', 'src/core/support/log_win32.c', 'src/core/support/murmur_hash.c', 'src/core/support/slice.c', 'src/core/support/slice_buffer.c', 'src/core/support/string.c', 'src/core/support/string_posix.c', 'src/core/support/string_win32.c', 'src/core/support/subprocess_posix.c', 'src/core/support/sync.c', 'src/core/support/sync_posix.c', 'src/core/support/sync_win32.c', 'src/core/support/thd.c', 'src/core/support/thd_posix.c', 'src/core/support/thd_win32.c', 'src/core/support/time.c', 'src/core/support/time_posix.c', 'src/core/support/time_win32.c', 'src/core/support/tls_pthread.c', 'src/core/httpcli/format_request.h', 'src/core/httpcli/httpcli.h', 'src/core/httpcli/httpcli_security_connector.h', 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', 'src/core/security/json_token.h', 'src/core/security/secure_endpoint.h', 'src/core/security/secure_transport_setup.h', 'src/core/security/security_connector.h', 'src/core/security/security_context.h', 'src/core/tsi/fake_transport_security.h', 'src/core/tsi/ssl_transport_security.h', 'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security_interface.h', 'src/core/census/grpc_context.h', 'src/core/channel/census_filter.h', 'src/core/channel/channel_args.h', 'src/core/channel/channel_stack.h', 'src/core/channel/child_channel.h', 'src/core/channel/client_channel.h', 'src/core/channel/client_setup.h', 'src/core/channel/connected_channel.h', 'src/core/channel/context.h', 'src/core/channel/http_client_filter.h', 'src/core/channel/http_server_filter.h', 'src/core/channel/noop_filter.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', 'src/core/iomgr/endpoint.h', 'src/core/iomgr/endpoint_pair.h', 'src/core/iomgr/fd_posix.h', 'src/core/iomgr/iocp_windows.h', 'src/core/iomgr/iomgr.h', 'src/core/iomgr/iomgr_internal.h', 'src/core/iomgr/iomgr_posix.h', 'src/core/iomgr/pollset.h', 'src/core/iomgr/pollset_kick_posix.h', 'src/core/iomgr/pollset_posix.h', 'src/core/iomgr/pollset_set.h', 'src/core/iomgr/pollset_set_posix.h', 'src/core/iomgr/pollset_set_windows.h', 'src/core/iomgr/pollset_windows.h', 'src/core/iomgr/resolve_address.h', 'src/core/iomgr/sockaddr.h', 'src/core/iomgr/sockaddr_posix.h', 'src/core/iomgr/sockaddr_utils.h', 'src/core/iomgr/sockaddr_win32.h', 'src/core/iomgr/socket_utils_posix.h', 'src/core/iomgr/socket_windows.h', 'src/core/iomgr/tcp_client.h', 'src/core/iomgr/tcp_posix.h', 'src/core/iomgr/tcp_server.h', 'src/core/iomgr/tcp_windows.h', 'src/core/iomgr/time_averaged_stats.h', 'src/core/iomgr/wakeup_fd_pipe.h', 'src/core/iomgr/wakeup_fd_posix.h', 'src/core/json/json.h', 'src/core/json/json_common.h', 'src/core/json/json_reader.h', 'src/core/json/json_writer.h', 'src/core/profiling/timers.h', 'src/core/profiling/timers_preciseclock.h', 'src/core/surface/byte_buffer_queue.h', 'src/core/surface/call.h', 'src/core/surface/channel.h', 'src/core/surface/client.h', 'src/core/surface/completion_queue.h', 'src/core/surface/event_string.h', 'src/core/surface/init.h', 'src/core/surface/server.h', 'src/core/surface/surface_trace.h', 'src/core/transport/chttp2/alpn.h', 'src/core/transport/chttp2/bin_encoder.h', 'src/core/transport/chttp2/frame.h', 'src/core/transport/chttp2/frame_data.h', 'src/core/transport/chttp2/frame_goaway.h', 'src/core/transport/chttp2/frame_ping.h', 'src/core/transport/chttp2/frame_rst_stream.h', 'src/core/transport/chttp2/frame_settings.h', 'src/core/transport/chttp2/frame_window_update.h', 'src/core/transport/chttp2/hpack_parser.h', 'src/core/transport/chttp2/hpack_table.h', 'src/core/transport/chttp2/http2_errors.h', 'src/core/transport/chttp2/huffsyms.h', 'src/core/transport/chttp2/status_conversion.h', 'src/core/transport/chttp2/stream_encoder.h', 'src/core/transport/chttp2/stream_map.h', 'src/core/transport/chttp2/timeout_encoding.h', 'src/core/transport/chttp2/varint.h', 'src/core/transport/chttp2_transport.h', 'src/core/transport/metadata.h', 'src/core/transport/stream_op.h', 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', 'src/core/census/context.h', 'include/grpc/grpc_security.h', 'include/grpc/byte_buffer.h', 'include/grpc/byte_buffer_reader.h', 'include/grpc/compression.h', 'include/grpc/grpc.h', 'include/grpc/status.h', 'include/grpc/census.h', 'src/core/httpcli/format_request.c', 'src/core/httpcli/httpcli.c', 'src/core/httpcli/httpcli_security_connector.c', 'src/core/httpcli/parser.c', 'src/core/security/base64.c', 'src/core/security/client_auth_filter.c', 'src/core/security/credentials.c', 'src/core/security/credentials_metadata.c', 'src/core/security/credentials_posix.c', 'src/core/security/credentials_win32.c', 'src/core/security/google_default_credentials.c', 'src/core/security/json_token.c', 'src/core/security/secure_endpoint.c', 'src/core/security/secure_transport_setup.c', 'src/core/security/security_connector.c', 'src/core/security/security_context.c', 'src/core/security/server_auth_filter.c', 'src/core/security/server_secure_chttp2.c', 'src/core/surface/init_secure.c', 'src/core/surface/secure_channel_create.c', 'src/core/tsi/fake_transport_security.c', 'src/core/tsi/ssl_transport_security.c', 'src/core/tsi/transport_security.c', 'src/core/census/grpc_context.c', 'src/core/channel/channel_args.c', 'src/core/channel/channel_stack.c', 'src/core/channel/child_channel.c', 'src/core/channel/client_channel.c', 'src/core/channel/client_setup.c', 'src/core/channel/connected_channel.c', 'src/core/channel/http_client_filter.c', 'src/core/channel/http_server_filter.c', 'src/core/channel/noop_filter.c', 'src/core/compression/algorithm.c', 'src/core/compression/message_compress.c', 'src/core/debug/trace.c', 'src/core/iomgr/alarm.c', 'src/core/iomgr/alarm_heap.c', 'src/core/iomgr/endpoint.c', 'src/core/iomgr/endpoint_pair_posix.c', 'src/core/iomgr/endpoint_pair_windows.c', 'src/core/iomgr/fd_posix.c', 'src/core/iomgr/iocp_windows.c', 'src/core/iomgr/iomgr.c', 'src/core/iomgr/iomgr_posix.c', 'src/core/iomgr/iomgr_windows.c', 'src/core/iomgr/pollset_kick_posix.c', 'src/core/iomgr/pollset_multipoller_with_epoll.c', 'src/core/iomgr/pollset_multipoller_with_poll_posix.c', 'src/core/iomgr/pollset_posix.c', 'src/core/iomgr/pollset_set_posix.c', 'src/core/iomgr/pollset_set_windows.c', 'src/core/iomgr/pollset_windows.c', 'src/core/iomgr/resolve_address_posix.c', 'src/core/iomgr/resolve_address_windows.c', 'src/core/iomgr/sockaddr_utils.c', 'src/core/iomgr/socket_utils_common_posix.c', 'src/core/iomgr/socket_utils_linux.c', 'src/core/iomgr/socket_utils_posix.c', 'src/core/iomgr/socket_windows.c', 'src/core/iomgr/tcp_client_posix.c', 'src/core/iomgr/tcp_client_windows.c', 'src/core/iomgr/tcp_posix.c', 'src/core/iomgr/tcp_server_posix.c', 'src/core/iomgr/tcp_server_windows.c', 'src/core/iomgr/tcp_windows.c', 'src/core/iomgr/time_averaged_stats.c', 'src/core/iomgr/wakeup_fd_eventfd.c', 'src/core/iomgr/wakeup_fd_nospecial.c', 'src/core/iomgr/wakeup_fd_pipe.c', 'src/core/iomgr/wakeup_fd_posix.c', 'src/core/json/json.c', 'src/core/json/json_reader.c', 'src/core/json/json_string.c', 'src/core/json/json_writer.c', 'src/core/profiling/basic_timers.c', 'src/core/profiling/stap_timers.c', 'src/core/surface/byte_buffer.c', 'src/core/surface/byte_buffer_queue.c', 'src/core/surface/byte_buffer_reader.c', 'src/core/surface/call.c', 'src/core/surface/call_details.c', 'src/core/surface/call_log_batch.c', 'src/core/surface/channel.c', 'src/core/surface/channel_create.c', 'src/core/surface/client.c', 'src/core/surface/completion_queue.c', 'src/core/surface/event_string.c', 'src/core/surface/init.c', 'src/core/surface/lame_client.c', 'src/core/surface/metadata_array.c', 'src/core/surface/server.c', 'src/core/surface/server_chttp2.c', 'src/core/surface/server_create.c', 'src/core/surface/surface_trace.c', 'src/core/transport/chttp2/alpn.c', 'src/core/transport/chttp2/bin_encoder.c', 'src/core/transport/chttp2/frame_data.c', 'src/core/transport/chttp2/frame_goaway.c', 'src/core/transport/chttp2/frame_ping.c', 'src/core/transport/chttp2/frame_rst_stream.c', 'src/core/transport/chttp2/frame_settings.c', 'src/core/transport/chttp2/frame_window_update.c', 'src/core/transport/chttp2/hpack_parser.c', 'src/core/transport/chttp2/hpack_table.c', 'src/core/transport/chttp2/huffsyms.c', 'src/core/transport/chttp2/status_conversion.c', 'src/core/transport/chttp2/stream_encoder.c', 'src/core/transport/chttp2/stream_map.c', 'src/core/transport/chttp2/timeout_encoding.c', 'src/core/transport/chttp2/varint.c', 'src/core/transport/chttp2_transport.c', 'src/core/transport/metadata.c', 'src/core/transport/stream_op.c', 'src/core/transport/transport.c', 'src/core/transport/transport_op_string.c', 'src/core/census/context.c', 'src/core/census/initialize.c',
- cs.private_header_files = 'src/core/support/env.h', 'src/core/support/file.h', 'src/core/support/murmur_hash.h', 'src/core/support/string.h', 'src/core/support/string_win32.h', 'src/core/support/thd_internal.h', 'src/core/httpcli/format_request.h', 'src/core/httpcli/httpcli.h', 'src/core/httpcli/httpcli_security_connector.h', 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', 'src/core/security/json_token.h', 'src/core/security/secure_endpoint.h', 'src/core/security/secure_transport_setup.h', 'src/core/security/security_connector.h', 'src/core/security/security_context.h', 'src/core/tsi/fake_transport_security.h', 'src/core/tsi/ssl_transport_security.h', 'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security_interface.h', 'src/core/census/grpc_context.h', 'src/core/channel/census_filter.h', 'src/core/channel/channel_args.h', 'src/core/channel/channel_stack.h', 'src/core/channel/child_channel.h', 'src/core/channel/client_channel.h', 'src/core/channel/client_setup.h', 'src/core/channel/connected_channel.h', 'src/core/channel/context.h', 'src/core/channel/http_client_filter.h', 'src/core/channel/http_server_filter.h', 'src/core/channel/noop_filter.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', 'src/core/iomgr/endpoint.h', 'src/core/iomgr/endpoint_pair.h', 'src/core/iomgr/fd_posix.h', 'src/core/iomgr/iocp_windows.h', 'src/core/iomgr/iomgr.h', 'src/core/iomgr/iomgr_internal.h', 'src/core/iomgr/iomgr_posix.h', 'src/core/iomgr/pollset.h', 'src/core/iomgr/pollset_kick_posix.h', 'src/core/iomgr/pollset_posix.h', 'src/core/iomgr/pollset_set.h', 'src/core/iomgr/pollset_set_posix.h', 'src/core/iomgr/pollset_set_windows.h', 'src/core/iomgr/pollset_windows.h', 'src/core/iomgr/resolve_address.h', 'src/core/iomgr/sockaddr.h', 'src/core/iomgr/sockaddr_posix.h', 'src/core/iomgr/sockaddr_utils.h', 'src/core/iomgr/sockaddr_win32.h', 'src/core/iomgr/socket_utils_posix.h', 'src/core/iomgr/socket_windows.h', 'src/core/iomgr/tcp_client.h', 'src/core/iomgr/tcp_posix.h', 'src/core/iomgr/tcp_server.h', 'src/core/iomgr/tcp_windows.h', 'src/core/iomgr/time_averaged_stats.h', 'src/core/iomgr/wakeup_fd_pipe.h', 'src/core/iomgr/wakeup_fd_posix.h', 'src/core/json/json.h', 'src/core/json/json_common.h', 'src/core/json/json_reader.h', 'src/core/json/json_writer.h', 'src/core/profiling/timers.h', 'src/core/profiling/timers_preciseclock.h', 'src/core/surface/byte_buffer_queue.h', 'src/core/surface/call.h', 'src/core/surface/channel.h', 'src/core/surface/client.h', 'src/core/surface/completion_queue.h', 'src/core/surface/event_string.h', 'src/core/surface/init.h', 'src/core/surface/server.h', 'src/core/surface/surface_trace.h', 'src/core/transport/chttp2/alpn.h', 'src/core/transport/chttp2/bin_encoder.h', 'src/core/transport/chttp2/frame.h', 'src/core/transport/chttp2/frame_data.h', 'src/core/transport/chttp2/frame_goaway.h', 'src/core/transport/chttp2/frame_ping.h', 'src/core/transport/chttp2/frame_rst_stream.h', 'src/core/transport/chttp2/frame_settings.h', 'src/core/transport/chttp2/frame_window_update.h', 'src/core/transport/chttp2/hpack_parser.h', 'src/core/transport/chttp2/hpack_table.h', 'src/core/transport/chttp2/http2_errors.h', 'src/core/transport/chttp2/huffsyms.h', 'src/core/transport/chttp2/status_conversion.h', 'src/core/transport/chttp2/stream_encoder.h', 'src/core/transport/chttp2/stream_map.h', 'src/core/transport/chttp2/timeout_encoding.h', 'src/core/transport/chttp2/varint.h', 'src/core/transport/chttp2_transport.h', 'src/core/transport/metadata.h', 'src/core/transport/stream_op.h', 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', 'src/core/census/context.h',
- cs.header_mappings_dir = '.'
- # The core library includes its headers as either "src/core/..." or "grpc/...", meaning we have
- # to tell XCode to look for headers under the "include" subdirectory too.
- #
- # TODO(jcanizales): Instead of doing this, during installation move everything under
- # "include/grpc" one directory up. The directory names under PODS_ROOT are implementation
- # details of Cocoapods, and have changed in the past, breaking this podspec.
- cs.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Private/gRPC" ' +
- '"$(PODS_ROOT)/Headers/Private/gRPC/include"' }
-
- cs.requires_arc = false
- cs.libraries = 'z'
- cs.dependency 'OpenSSL', '~> 1.0.200'
+ s.subspec 'C-Core' do |ss|
+ ss.source_files = 'src/core/support/env.h',
+ 'src/core/support/file.h',
+ 'src/core/support/murmur_hash.h',
+ 'src/core/support/grpc_string.h',
+ 'src/core/support/string_win32.h',
+ 'src/core/support/thd_internal.h',
+ 'grpc/support/alloc.h',
+ 'grpc/support/atm.h',
+ 'grpc/support/atm_gcc_atomic.h',
+ 'grpc/support/atm_gcc_sync.h',
+ 'grpc/support/atm_win32.h',
+ 'grpc/support/cancellable_platform.h',
+ 'grpc/support/cmdline.h',
+ 'grpc/support/cpu.h',
+ 'grpc/support/histogram.h',
+ 'grpc/support/host_port.h',
+ 'grpc/support/log.h',
+ 'grpc/support/log_win32.h',
+ 'grpc/support/port_platform.h',
+ 'grpc/support/slice.h',
+ 'grpc/support/slice_buffer.h',
+ 'grpc/support/string_util.h',
+ 'grpc/support/subprocess.h',
+ 'grpc/support/sync.h',
+ 'grpc/support/sync_generic.h',
+ 'grpc/support/sync_posix.h',
+ 'grpc/support/sync_win32.h',
+ 'grpc/support/thd.h',
+ 'grpc/support/grpc_time.h',
+ 'grpc/support/tls.h',
+ 'grpc/support/tls_gcc.h',
+ 'grpc/support/tls_msvc.h',
+ 'grpc/support/tls_pthread.h',
+ 'grpc/support/useful.h',
+ 'src/core/support/alloc.c',
+ 'src/core/support/cancellable.c',
+ 'src/core/support/cmdline.c',
+ 'src/core/support/cpu_iphone.c',
+ 'src/core/support/cpu_linux.c',
+ 'src/core/support/cpu_posix.c',
+ 'src/core/support/cpu_windows.c',
+ 'src/core/support/env_linux.c',
+ 'src/core/support/env_posix.c',
+ 'src/core/support/env_win32.c',
+ 'src/core/support/file.c',
+ 'src/core/support/file_posix.c',
+ 'src/core/support/file_win32.c',
+ 'src/core/support/histogram.c',
+ 'src/core/support/host_port.c',
+ 'src/core/support/log.c',
+ 'src/core/support/log_android.c',
+ 'src/core/support/log_linux.c',
+ 'src/core/support/log_posix.c',
+ 'src/core/support/log_win32.c',
+ 'src/core/support/murmur_hash.c',
+ 'src/core/support/slice.c',
+ 'src/core/support/slice_buffer.c',
+ 'src/core/support/string.c',
+ 'src/core/support/string_posix.c',
+ 'src/core/support/string_win32.c',
+ 'src/core/support/subprocess_posix.c',
+ 'src/core/support/sync.c',
+ 'src/core/support/sync_posix.c',
+ 'src/core/support/sync_win32.c',
+ 'src/core/support/thd.c',
+ 'src/core/support/thd_posix.c',
+ 'src/core/support/thd_win32.c',
+ 'src/core/support/time.c',
+ 'src/core/support/time_posix.c',
+ 'src/core/support/time_win32.c',
+ 'src/core/support/tls_pthread.c',
+ 'src/core/httpcli/format_request.h',
+ 'src/core/httpcli/httpcli.h',
+ 'src/core/httpcli/httpcli_security_connector.h',
+ 'src/core/httpcli/parser.h',
+ 'src/core/security/auth_filters.h',
+ 'src/core/security/base64.h',
+ 'src/core/security/credentials.h',
+ 'src/core/security/json_token.h',
+ 'src/core/security/secure_endpoint.h',
+ 'src/core/security/secure_transport_setup.h',
+ 'src/core/security/security_connector.h',
+ 'src/core/security/security_context.h',
+ 'src/core/tsi/fake_transport_security.h',
+ 'src/core/tsi/ssl_transport_security.h',
+ 'src/core/tsi/transport_security.h',
+ 'src/core/tsi/transport_security_interface.h',
+ 'src/core/census/grpc_context.h',
+ 'src/core/channel/census_filter.h',
+ 'src/core/channel/channel_args.h',
+ 'src/core/channel/channel_stack.h',
+ 'src/core/channel/child_channel.h',
+ 'src/core/channel/client_channel.h',
+ 'src/core/channel/client_setup.h',
+ 'src/core/channel/connected_channel.h',
+ 'src/core/channel/context.h',
+ 'src/core/channel/http_client_filter.h',
+ 'src/core/channel/http_server_filter.h',
+ 'src/core/channel/noop_filter.h',
+ 'src/core/compression/message_compress.h',
+ 'src/core/debug/trace.h',
+ 'src/core/iomgr/alarm.h',
+ 'src/core/iomgr/alarm_heap.h',
+ 'src/core/iomgr/alarm_internal.h',
+ 'src/core/iomgr/endpoint.h',
+ 'src/core/iomgr/endpoint_pair.h',
+ 'src/core/iomgr/fd_posix.h',
+ 'src/core/iomgr/iocp_windows.h',
+ 'src/core/iomgr/iomgr.h',
+ 'src/core/iomgr/iomgr_internal.h',
+ 'src/core/iomgr/iomgr_posix.h',
+ 'src/core/iomgr/pollset.h',
+ 'src/core/iomgr/pollset_kick_posix.h',
+ 'src/core/iomgr/pollset_posix.h',
+ 'src/core/iomgr/pollset_set.h',
+ 'src/core/iomgr/pollset_set_posix.h',
+ 'src/core/iomgr/pollset_set_windows.h',
+ 'src/core/iomgr/pollset_windows.h',
+ 'src/core/iomgr/resolve_address.h',
+ 'src/core/iomgr/sockaddr.h',
+ 'src/core/iomgr/sockaddr_posix.h',
+ 'src/core/iomgr/sockaddr_utils.h',
+ 'src/core/iomgr/sockaddr_win32.h',
+ 'src/core/iomgr/socket_utils_posix.h',
+ 'src/core/iomgr/socket_windows.h',
+ 'src/core/iomgr/tcp_client.h',
+ 'src/core/iomgr/tcp_posix.h',
+ 'src/core/iomgr/tcp_server.h',
+ 'src/core/iomgr/tcp_windows.h',
+ 'src/core/iomgr/time_averaged_stats.h',
+ 'src/core/iomgr/wakeup_fd_pipe.h',
+ 'src/core/iomgr/wakeup_fd_posix.h',
+ 'src/core/json/json.h',
+ 'src/core/json/json_common.h',
+ 'src/core/json/json_reader.h',
+ 'src/core/json/json_writer.h',
+ 'src/core/profiling/timers.h',
+ 'src/core/profiling/timers_preciseclock.h',
+ 'src/core/surface/byte_buffer_queue.h',
+ 'src/core/surface/call.h',
+ 'src/core/surface/channel.h',
+ 'src/core/surface/client.h',
+ 'src/core/surface/completion_queue.h',
+ 'src/core/surface/event_string.h',
+ 'src/core/surface/init.h',
+ 'src/core/surface/server.h',
+ 'src/core/surface/surface_trace.h',
+ 'src/core/transport/chttp2/alpn.h',
+ 'src/core/transport/chttp2/bin_encoder.h',
+ 'src/core/transport/chttp2/frame.h',
+ 'src/core/transport/chttp2/frame_data.h',
+ 'src/core/transport/chttp2/frame_goaway.h',
+ 'src/core/transport/chttp2/frame_ping.h',
+ 'src/core/transport/chttp2/frame_rst_stream.h',
+ 'src/core/transport/chttp2/frame_settings.h',
+ 'src/core/transport/chttp2/frame_window_update.h',
+ 'src/core/transport/chttp2/hpack_parser.h',
+ 'src/core/transport/chttp2/hpack_table.h',
+ 'src/core/transport/chttp2/http2_errors.h',
+ 'src/core/transport/chttp2/huffsyms.h',
+ 'src/core/transport/chttp2/status_conversion.h',
+ 'src/core/transport/chttp2/stream_encoder.h',
+ 'src/core/transport/chttp2/stream_map.h',
+ 'src/core/transport/chttp2/timeout_encoding.h',
+ 'src/core/transport/chttp2/varint.h',
+ 'src/core/transport/chttp2_transport.h',
+ 'src/core/transport/metadata.h',
+ 'src/core/transport/stream_op.h',
+ 'src/core/transport/transport.h',
+ 'src/core/transport/transport_impl.h',
+ 'src/core/census/context.h',
+ 'grpc/grpc_security.h',
+ 'grpc/byte_buffer.h',
+ 'grpc/byte_buffer_reader.h',
+ 'grpc/compression.h',
+ 'grpc/grpc.h',
+ 'grpc/status.h',
+ 'grpc/census.h',
+ 'src/core/httpcli/format_request.c',
+ 'src/core/httpcli/httpcli.c',
+ 'src/core/httpcli/httpcli_security_connector.c',
+ 'src/core/httpcli/parser.c',
+ 'src/core/security/base64.c',
+ 'src/core/security/client_auth_filter.c',
+ 'src/core/security/credentials.c',
+ 'src/core/security/credentials_metadata.c',
+ 'src/core/security/credentials_posix.c',
+ 'src/core/security/credentials_win32.c',
+ 'src/core/security/google_default_credentials.c',
+ 'src/core/security/json_token.c',
+ 'src/core/security/secure_endpoint.c',
+ 'src/core/security/secure_transport_setup.c',
+ 'src/core/security/security_connector.c',
+ 'src/core/security/security_context.c',
+ 'src/core/security/server_auth_filter.c',
+ 'src/core/security/server_secure_chttp2.c',
+ 'src/core/surface/init_secure.c',
+ 'src/core/surface/secure_channel_create.c',
+ 'src/core/tsi/fake_transport_security.c',
+ 'src/core/tsi/ssl_transport_security.c',
+ 'src/core/tsi/transport_security.c',
+ 'src/core/census/grpc_context.c',
+ 'src/core/channel/channel_args.c',
+ 'src/core/channel/channel_stack.c',
+ 'src/core/channel/child_channel.c',
+ 'src/core/channel/client_channel.c',
+ 'src/core/channel/client_setup.c',
+ 'src/core/channel/connected_channel.c',
+ 'src/core/channel/http_client_filter.c',
+ 'src/core/channel/http_server_filter.c',
+ 'src/core/channel/noop_filter.c',
+ 'src/core/compression/algorithm.c',
+ 'src/core/compression/message_compress.c',
+ 'src/core/debug/trace.c',
+ 'src/core/iomgr/alarm.c',
+ 'src/core/iomgr/alarm_heap.c',
+ 'src/core/iomgr/endpoint.c',
+ 'src/core/iomgr/endpoint_pair_posix.c',
+ 'src/core/iomgr/endpoint_pair_windows.c',
+ 'src/core/iomgr/fd_posix.c',
+ 'src/core/iomgr/iocp_windows.c',
+ 'src/core/iomgr/iomgr.c',
+ 'src/core/iomgr/iomgr_posix.c',
+ 'src/core/iomgr/iomgr_windows.c',
+ 'src/core/iomgr/pollset_kick_posix.c',
+ 'src/core/iomgr/pollset_multipoller_with_epoll.c',
+ 'src/core/iomgr/pollset_multipoller_with_poll_posix.c',
+ 'src/core/iomgr/pollset_posix.c',
+ 'src/core/iomgr/pollset_set_posix.c',
+ 'src/core/iomgr/pollset_set_windows.c',
+ 'src/core/iomgr/pollset_windows.c',
+ 'src/core/iomgr/resolve_address_posix.c',
+ 'src/core/iomgr/resolve_address_windows.c',
+ 'src/core/iomgr/sockaddr_utils.c',
+ 'src/core/iomgr/socket_utils_common_posix.c',
+ 'src/core/iomgr/socket_utils_linux.c',
+ 'src/core/iomgr/socket_utils_posix.c',
+ 'src/core/iomgr/socket_windows.c',
+ 'src/core/iomgr/tcp_client_posix.c',
+ 'src/core/iomgr/tcp_client_windows.c',
+ 'src/core/iomgr/tcp_posix.c',
+ 'src/core/iomgr/tcp_server_posix.c',
+ 'src/core/iomgr/tcp_server_windows.c',
+ 'src/core/iomgr/tcp_windows.c',
+ 'src/core/iomgr/time_averaged_stats.c',
+ 'src/core/iomgr/wakeup_fd_eventfd.c',
+ 'src/core/iomgr/wakeup_fd_nospecial.c',
+ 'src/core/iomgr/wakeup_fd_pipe.c',
+ 'src/core/iomgr/wakeup_fd_posix.c',
+ 'src/core/json/json.c',
+ 'src/core/json/json_reader.c',
+ 'src/core/json/json_string.c',
+ 'src/core/json/json_writer.c',
+ 'src/core/profiling/basic_timers.c',
+ 'src/core/profiling/stap_timers.c',
+ 'src/core/surface/byte_buffer.c',
+ 'src/core/surface/byte_buffer_queue.c',
+ 'src/core/surface/byte_buffer_reader.c',
+ 'src/core/surface/call.c',
+ 'src/core/surface/call_details.c',
+ 'src/core/surface/call_log_batch.c',
+ 'src/core/surface/channel.c',
+ 'src/core/surface/channel_create.c',
+ 'src/core/surface/client.c',
+ 'src/core/surface/completion_queue.c',
+ 'src/core/surface/event_string.c',
+ 'src/core/surface/init.c',
+ 'src/core/surface/lame_client.c',
+ 'src/core/surface/metadata_array.c',
+ 'src/core/surface/server.c',
+ 'src/core/surface/server_chttp2.c',
+ 'src/core/surface/server_create.c',
+ 'src/core/surface/surface_trace.c',
+ 'src/core/transport/chttp2/alpn.c',
+ 'src/core/transport/chttp2/bin_encoder.c',
+ 'src/core/transport/chttp2/frame_data.c',
+ 'src/core/transport/chttp2/frame_goaway.c',
+ 'src/core/transport/chttp2/frame_ping.c',
+ 'src/core/transport/chttp2/frame_rst_stream.c',
+ 'src/core/transport/chttp2/frame_settings.c',
+ 'src/core/transport/chttp2/frame_window_update.c',
+ 'src/core/transport/chttp2/hpack_parser.c',
+ 'src/core/transport/chttp2/hpack_table.c',
+ 'src/core/transport/chttp2/huffsyms.c',
+ 'src/core/transport/chttp2/status_conversion.c',
+ 'src/core/transport/chttp2/stream_encoder.c',
+ 'src/core/transport/chttp2/stream_map.c',
+ 'src/core/transport/chttp2/timeout_encoding.c',
+ 'src/core/transport/chttp2/varint.c',
+ 'src/core/transport/chttp2_transport.c',
+ 'src/core/transport/metadata.c',
+ 'src/core/transport/stream_op.c',
+ 'src/core/transport/transport.c',
+ 'src/core/transport/transport_op_string.c',
+ 'src/core/census/context.c',
+ 'src/core/census/initialize.c'
+
+ ss.private_header_files = 'src/core/support/env.h',
+ 'src/core/support/file.h',
+ 'src/core/support/murmur_hash.h',
+ 'src/core/support/string.h',
+ 'src/core/support/string_win32.h',
+ 'src/core/support/thd_internal.h',
+ 'src/core/httpcli/format_request.h',
+ 'src/core/httpcli/httpcli.h',
+ 'src/core/httpcli/httpcli_security_connector.h',
+ 'src/core/httpcli/parser.h',
+ 'src/core/security/auth_filters.h',
+ 'src/core/security/base64.h',
+ 'src/core/security/credentials.h',
+ 'src/core/security/json_token.h',
+ 'src/core/security/secure_endpoint.h',
+ 'src/core/security/secure_transport_setup.h',
+ 'src/core/security/security_connector.h',
+ 'src/core/security/security_context.h',
+ 'src/core/tsi/fake_transport_security.h',
+ 'src/core/tsi/ssl_transport_security.h',
+ 'src/core/tsi/transport_security.h',
+ 'src/core/tsi/transport_security_interface.h',
+ 'src/core/census/grpc_context.h',
+ 'src/core/channel/census_filter.h',
+ 'src/core/channel/channel_args.h',
+ 'src/core/channel/channel_stack.h',
+ 'src/core/channel/child_channel.h',
+ 'src/core/channel/client_channel.h',
+ 'src/core/channel/client_setup.h',
+ 'src/core/channel/connected_channel.h',
+ 'src/core/channel/context.h',
+ 'src/core/channel/http_client_filter.h',
+ 'src/core/channel/http_server_filter.h',
+ 'src/core/channel/noop_filter.h',
+ 'src/core/compression/message_compress.h',
+ 'src/core/debug/trace.h',
+ 'src/core/iomgr/alarm.h',
+ 'src/core/iomgr/alarm_heap.h',
+ 'src/core/iomgr/alarm_internal.h',
+ 'src/core/iomgr/endpoint.h',
+ 'src/core/iomgr/endpoint_pair.h',
+ 'src/core/iomgr/fd_posix.h',
+ 'src/core/iomgr/iocp_windows.h',
+ 'src/core/iomgr/iomgr.h',
+ 'src/core/iomgr/iomgr_internal.h',
+ 'src/core/iomgr/iomgr_posix.h',
+ 'src/core/iomgr/pollset.h',
+ 'src/core/iomgr/pollset_kick_posix.h',
+ 'src/core/iomgr/pollset_posix.h',
+ 'src/core/iomgr/pollset_set.h',
+ 'src/core/iomgr/pollset_set_posix.h',
+ 'src/core/iomgr/pollset_set_windows.h',
+ 'src/core/iomgr/pollset_windows.h',
+ 'src/core/iomgr/resolve_address.h',
+ 'src/core/iomgr/sockaddr.h',
+ 'src/core/iomgr/sockaddr_posix.h',
+ 'src/core/iomgr/sockaddr_utils.h',
+ 'src/core/iomgr/sockaddr_win32.h',
+ 'src/core/iomgr/socket_utils_posix.h',
+ 'src/core/iomgr/socket_windows.h',
+ 'src/core/iomgr/tcp_client.h',
+ 'src/core/iomgr/tcp_posix.h',
+ 'src/core/iomgr/tcp_server.h',
+ 'src/core/iomgr/tcp_windows.h',
+ 'src/core/iomgr/time_averaged_stats.h',
+ 'src/core/iomgr/wakeup_fd_pipe.h',
+ 'src/core/iomgr/wakeup_fd_posix.h',
+ 'src/core/json/json.h',
+ 'src/core/json/json_common.h',
+ 'src/core/json/json_reader.h',
+ 'src/core/json/json_writer.h',
+ 'src/core/profiling/timers.h',
+ 'src/core/profiling/timers_preciseclock.h',
+ 'src/core/surface/byte_buffer_queue.h',
+ 'src/core/surface/call.h',
+ 'src/core/surface/channel.h',
+ 'src/core/surface/client.h',
+ 'src/core/surface/completion_queue.h',
+ 'src/core/surface/event_string.h',
+ 'src/core/surface/init.h',
+ 'src/core/surface/server.h',
+ 'src/core/surface/surface_trace.h',
+ 'src/core/transport/chttp2/alpn.h',
+ 'src/core/transport/chttp2/bin_encoder.h',
+ 'src/core/transport/chttp2/frame.h',
+ 'src/core/transport/chttp2/frame_data.h',
+ 'src/core/transport/chttp2/frame_goaway.h',
+ 'src/core/transport/chttp2/frame_ping.h',
+ 'src/core/transport/chttp2/frame_rst_stream.h',
+ 'src/core/transport/chttp2/frame_settings.h',
+ 'src/core/transport/chttp2/frame_window_update.h',
+ 'src/core/transport/chttp2/hpack_parser.h',
+ 'src/core/transport/chttp2/hpack_table.h',
+ 'src/core/transport/chttp2/http2_errors.h',
+ 'src/core/transport/chttp2/huffsyms.h',
+ 'src/core/transport/chttp2/status_conversion.h',
+ 'src/core/transport/chttp2/stream_encoder.h',
+ 'src/core/transport/chttp2/stream_map.h',
+ 'src/core/transport/chttp2/timeout_encoding.h',
+ 'src/core/transport/chttp2/varint.h',
+ 'src/core/transport/chttp2_transport.h',
+ 'src/core/transport/metadata.h',
+ 'src/core/transport/stream_op.h',
+ 'src/core/transport/transport.h',
+ 'src/core/transport/transport_impl.h',
+ 'src/core/census/context.h'
+
+ ss.header_mappings_dir = '.'
+
+ ss.requires_arc = false
+ ss.libraries = 'z'
+ ss.dependency 'OpenSSL', '~> 1.0.200'
end
# This is a workaround for Cocoapods Issue #1437.
@@ -82,12 +477,15 @@ Pod::Spec.new do |s|
# It needs to be here (top-level) instead of in the C-Core subspec because Cocoapods doesn't run
# prepare_command's of subspecs.
#
- # TODO(jcanizales): Try out Todd Reed's solution at Issue #1437.
+ # TODO(jcanizales): Try out others' solutions at Issue #1437.
s.prepare_command = <<-CMD
+ # Move contents of include up a level to avoid manually specifying include paths
+ cp -r "include/grpc" "."
+
DIR_TIME="grpc/support"
BAD_TIME="$DIR_TIME/time.h"
GOOD_TIME="$DIR_TIME/grpc_time.h"
- grep -rl "$BAD_TIME" include/grpc src/core | xargs sed -i '' -e s@$BAD_TIME@$GOOD_TIME@g
+ grep -rl "$BAD_TIME" grpc src/core src/objective-c/GRPCClient | xargs sed -i '' -e s@$BAD_TIME@$GOOD_TIME@g
if [ -f "include/$BAD_TIME" ];
then
mv -f "include/$BAD_TIME" "include/$GOOD_TIME"
@@ -96,7 +494,7 @@ Pod::Spec.new do |s|
DIR_STRING="src/core/support"
BAD_STRING="$DIR_STRING/string.h"
GOOD_STRING="$DIR_STRING/grpc_string.h"
- grep -rl "$BAD_STRING" include/grpc src/core | xargs sed -i '' -e s@$BAD_STRING@$GOOD_STRING@g
+ grep -rl "$BAD_STRING" grpc src/core src/objective-c/GRPCClient | xargs sed -i '' -e s@$BAD_STRING@$GOOD_STRING@g
if [ -f "$BAD_STRING" ];
then
mv -f "$BAD_STRING" "$GOOD_STRING"
@@ -104,28 +502,27 @@ Pod::Spec.new do |s|
CMD
# Objective-C wrapper around the core gRPC library.
- s.subspec 'GRPCClient' do |gs|
- gs.source_files = 'src/objective-c/GRPCClient/*.{h,m}',
- 'src/objective-c/GRPCClient/private/*.{h,m}'
- gs.private_header_files = 'src/objective-c/GRPCClient/private/*.h'
- gs.compiler_flags = '-GCC_WARN_INHIBIT_ALL_WARNINGS', '-w'
-
- gs.dependency 'gRPC/C-Core'
- # TODO(jcanizales): Remove this when the prepare_command moves everything under "include/grpc"
- # one directory up.
- gs.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Public/gRPC/include"' }
- gs.dependency 'gRPC/RxLibrary'
+ s.subspec 'GRPCClient' do |ss|
+ src_dir = "#{objc_dir}/GRPCClient"
+ ss.source_files = "#{src_dir}/*.{h,m}", "#{src_dir}/**/*.{h,m}"
+ ss.private_header_files = "#{src_dir}/private/*.h"
+ ss.header_mappings_dir = "#{objc_dir}"
+
+ ss.dependency 'gRPC/C-Core'
+ ss.dependency 'gRPC/RxLibrary'
# Certificates, to be able to establish TLS connections:
- gs.resource_bundles = { 'gRPC' => ['etc/roots.pem'] }
+ ss.resource_bundles = { 'gRPC' => ['etc/roots.pem'] }
end
# RPC library for ProtocolBuffers, based on gRPC
- s.subspec 'ProtoRPC' do |ps|
- ps.source_files = 'src/objective-c/ProtoRPC/*.{h,m}'
+ s.subspec 'ProtoRPC' do |ss|
+ src_dir = "#{objc_dir}/ProtoRPC"
+ ss.source_files = "#{src_dir}/*.{h,m}"
+ ss.header_mappings_dir = "#{objc_dir}"
- ps.dependency 'gRPC/GRPCClient'
- ps.dependency 'gRPC/RxLibrary'
- ps.dependency 'Protobuf', '~> 3.0.0-alpha-3'
+ ss.dependency 'gRPC/GRPCClient'
+ ss.dependency 'gRPC/RxLibrary'
+ ss.dependency 'Protobuf', '~> 3.0.0-alpha-3'
end
end
diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h
index 33e66816f5..64fa5d6efb 100644
--- a/include/grpc++/impl/call.h
+++ b/include/grpc++/impl/call.h
@@ -41,6 +41,7 @@
#include <grpc++/status.h>
#include <grpc++/impl/serialization_traits.h>
+#include <functional>
#include <memory>
#include <map>
diff --git a/src/compiler/objective_c_plugin.cc b/src/compiler/objective_c_plugin.cc
index b5ac2bafa9..2b5ab758fc 100644
--- a/src/compiler/objective_c_plugin.cc
+++ b/src/compiler/objective_c_plugin.cc
@@ -62,8 +62,8 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
{
// Generate .pbrpc.h
- string imports = string("#import \"") + file_name + ".pbobjc.h\"\n"
- "#import <gRPC/ProtoService.h>\n";
+ string imports = string("#import \"") + file_name + ".pbobjc.h\"\n\n"
+ "#import <ProtoRPC/ProtoService.h>\n";
// TODO(jcanizales): Instead forward-declare the input and output types
// and import the files in the .pbrpc.m
@@ -87,10 +87,10 @@ class ObjectiveCGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
{
// Generate .pbrpc.m
- string imports = string("#import \"") + file_name + ".pbrpc.h\"\n"
- "#import <gRPC/GRXWriteable.h>\n"
- "#import <gRPC/GRXWriter+Immediate.h>\n"
- "#import <gRPC/ProtoRPC.h>\n";
+ string imports = string("#import \"") + file_name + ".pbrpc.h\"\n\n"
+ "#import <ProtoRPC/ProtoRPC.h>\n"
+ "#import <RxLibrary/GRXWriteable.h>\n"
+ "#import <RxLibrary/GRXWriter+Immediate.h>\n";
string definitions;
for (int i = 0; i < file->service_count(); i++) {
diff --git a/src/core/iomgr/pollset_windows.c b/src/core/iomgr/pollset_windows.c
index d0507af960..926ee8fdd9 100644
--- a/src/core/iomgr/pollset_windows.c
+++ b/src/core/iomgr/pollset_windows.c
@@ -39,6 +39,7 @@
#include "src/core/iomgr/alarm_internal.h"
#include "src/core/iomgr/iomgr_internal.h"
+#include "src/core/iomgr/pollset.h"
#include "src/core/iomgr/pollset_windows.h"
/* There isn't really any such thing as a pollset under Windows, due to the
@@ -54,6 +55,7 @@ void grpc_pollset_init(grpc_pollset *pollset) {
void grpc_pollset_shutdown(grpc_pollset *pollset,
void (*shutdown_done)(void *arg),
void *shutdown_done_arg) {
+ grpc_pollset_kick(pollset);
shutdown_done(shutdown_done_arg);
}
@@ -68,10 +70,10 @@ int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline) {
if (gpr_time_cmp(now, deadline) > 0) {
return 0 /* GPR_FALSE */;
}
- if (grpc_maybe_call_delayed_callbacks(NULL, 1 /* GPR_TRUE */)) {
+ if (grpc_maybe_call_delayed_callbacks(&pollset->mu, 1 /* GPR_TRUE */)) {
return 1 /* GPR_TRUE */;
}
- if (grpc_alarm_check(NULL, now, &deadline)) {
+ if (grpc_alarm_check(&pollset->mu, now, &deadline)) {
return 1 /* GPR_TRUE */;
}
gpr_cv_wait(&pollset->cv, &pollset->mu, deadline);
diff --git a/src/core/support/histogram.c b/src/core/support/histogram.c
index 2f1adcf511..9029703891 100644
--- a/src/core/support/histogram.c
+++ b/src/core/support/histogram.c
@@ -164,7 +164,9 @@ static double threshold_for_count_below(gpr_histogram *h, double count_below) {
size_t lower_idx;
size_t upper_idx;
- GPR_ASSERT(h->count >= 1);
+ if (h->count == 0) {
+ return 0.0;
+ }
if (count_below <= 0) {
return h->min_seen;
diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c
index bd0fabf9da..063a23cfb1 100644
--- a/src/core/surface/completion_queue.c
+++ b/src/core/surface/completion_queue.c
@@ -208,6 +208,7 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc,
}
if (cc->shutdown) {
ev = create_shutdown_event();
+ grpc_pollset_kick(&cc->pollset);
break;
}
if (!grpc_pollset_work(&cc->pollset, deadline)) {
diff --git a/src/objective-c/GRPCClient/GRPCCall.h b/src/objective-c/GRPCClient/GRPCCall.h
index 7b42498d42..33aae10747 100644
--- a/src/objective-c/GRPCClient/GRPCCall.h
+++ b/src/objective-c/GRPCClient/GRPCCall.h
@@ -46,7 +46,7 @@
// transparently on the same TCP connection.
#import <Foundation/Foundation.h>
-#import <gRPC/GRXWriter.h>
+#import <RxLibrary/GRXWriter.h>
@class GRPCMethodName;
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m
index a9625a1799..77eebeff76 100644
--- a/src/objective-c/GRPCClient/GRPCCall.m
+++ b/src/objective-c/GRPCClient/GRPCCall.m
@@ -34,7 +34,7 @@
#import "GRPCCall.h"
#include <grpc/grpc.h>
-#include <grpc/support/grpc_time.h>
+#include <grpc/support/time.h>
#import "GRPCMethodName.h"
#import "private/GRPCChannel.h"
diff --git a/src/objective-c/GRPCClient/private/GRPCDelegateWrapper.m b/src/objective-c/GRPCClient/private/GRPCDelegateWrapper.m
index 7d5ecb56d9..59c0565494 100644
--- a/src/objective-c/GRPCClient/private/GRPCDelegateWrapper.m
+++ b/src/objective-c/GRPCClient/private/GRPCDelegateWrapper.m
@@ -33,7 +33,7 @@
#import "GRPCDelegateWrapper.h"
-#import <gRPC/GRXWriteable.h>
+#import <RxLibrary/GRXWriteable.h>
@interface GRPCDelegateWrapper ()
// These are atomic so that cancellation can nillify them from any thread.
diff --git a/src/objective-c/GRPCClient/private/GRPCMethodName+HTTP2Encoding.h b/src/objective-c/GRPCClient/private/GRPCMethodName+HTTP2Encoding.h
index 28c7374517..81c80f2a49 100644
--- a/src/objective-c/GRPCClient/private/GRPCMethodName+HTTP2Encoding.h
+++ b/src/objective-c/GRPCClient/private/GRPCMethodName+HTTP2Encoding.h
@@ -33,7 +33,7 @@
#import <Foundation/Foundation.h>
-#import "GRPCMethodName.h"
+#import "GRPCClient/GRPCMethodName.h"
@interface GRPCMethodName (HTTP2Encoding)
- (NSString *)HTTP2Path;
diff --git a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
index 2cbc6e0f83..0f6eece885 100644
--- a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
+++ b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
@@ -38,7 +38,7 @@
@implementation GRPCSecureChannel
- (instancetype)initWithHost:(NSString *)host {
- static const grpc_credentials *kCredentials;
+ static grpc_credentials *kCredentials;
static dispatch_once_t loading;
dispatch_once(&loading, ^{
// Do not use NSBundle.mainBundle, as it's nil for tests of library projects.
diff --git a/src/objective-c/GRPCClient/private/NSError+GRPC.m b/src/objective-c/GRPCClient/private/NSError+GRPC.m
index f7390476d9..638f41cb11 100644
--- a/src/objective-c/GRPCClient/private/NSError+GRPC.m
+++ b/src/objective-c/GRPCClient/private/NSError+GRPC.m
@@ -33,7 +33,7 @@
#import "NSError+GRPC.h"
-#include <grpc.h>
+#include <grpc/grpc.h>
NSString * const kGRPCErrorDomain = @"io.grpc";
diff --git a/src/objective-c/ProtoRPC/ProtoRPC.h b/src/objective-c/ProtoRPC/ProtoRPC.h
index b6375f52d6..a383310619 100644
--- a/src/objective-c/ProtoRPC/ProtoRPC.h
+++ b/src/objective-c/ProtoRPC/ProtoRPC.h
@@ -32,7 +32,7 @@
*/
#import <Foundation/Foundation.h>
-#import <gRPC/GRPCCall.h>
+#import <GRPCClient/GRPCCall.h>
@interface ProtoRPC : GRPCCall
diff --git a/src/objective-c/ProtoRPC/ProtoRPC.m b/src/objective-c/ProtoRPC/ProtoRPC.m
index b8f8008422..3912034415 100644
--- a/src/objective-c/ProtoRPC/ProtoRPC.m
+++ b/src/objective-c/ProtoRPC/ProtoRPC.m
@@ -33,10 +33,10 @@
#import "ProtoRPC.h"
-#import <gRPC/GRXWriteable.h>
-#import <gRPC/GRXWriter.h>
-#import <gRPC/GRXWriter+Transformations.h>
#import <Protobuf/GPBProtocolBuffers.h>
+#import <RxLibrary/GRXWriteable.h>
+#import <RxLibrary/GRXWriter.h>
+#import <RxLibrary/GRXWriter+Transformations.h>
@implementation ProtoRPC {
id<GRXWriteable> _responseWriteable;
diff --git a/src/objective-c/ProtoRPC/ProtoService.m b/src/objective-c/ProtoRPC/ProtoService.m
index 453d7b3f1a..47bdb5dc6e 100644
--- a/src/objective-c/ProtoRPC/ProtoService.m
+++ b/src/objective-c/ProtoRPC/ProtoService.m
@@ -33,9 +33,9 @@
#import "ProtoService.h"
-#import <gRPC/GRPCMethodName.h>
-#import <gRPC/GRXWriteable.h>
-#import <gRPC/GRXWriter.h>
+#import <GRPCClient/GRPCMethodName.h>
+#import <RxLibrary/GRXWriteable.h>
+#import <RxLibrary/GRXWriter.h>
#import "ProtoRPC.h"
diff --git a/src/objective-c/RxLibrary/transformations/GRXMappingWriter.h b/src/objective-c/RxLibrary/transformations/GRXMappingWriter.h
index dcebb6132a..55f6f82f20 100644
--- a/src/objective-c/RxLibrary/transformations/GRXMappingWriter.h
+++ b/src/objective-c/RxLibrary/transformations/GRXMappingWriter.h
@@ -31,7 +31,7 @@
*
*/
-#import "GRXWriter.h"
+#import "RxLibrary/GRXWriter.h"
// A "proxy" writer that transforms all the values of its input writer by using a mapping function.
@interface GRXMappingWriter : GRXWriter
diff --git a/src/objective-c/examples/Sample/Sample/ViewController.m b/src/objective-c/examples/Sample/Sample/ViewController.m
index 0011a4508d..05bd6fa2db 100644
--- a/src/objective-c/examples/Sample/Sample/ViewController.m
+++ b/src/objective-c/examples/Sample/Sample/ViewController.m
@@ -33,12 +33,12 @@
#import "ViewController.h"
-#import <gRPC/GRPCCall.h>
-#import <gRPC/GRPCMethodName.h>
-#import <gRPC/GRXWriter+Immediate.h>
-#import <gRPC/GRXWriteable.h>
+#import <GRPCClient/GRPCCall.h>
+#import <GRPCClient/GRPCMethodName.h>
#import <RemoteTest/Messages.pbobjc.h>
#import <RemoteTest/Test.pbrpc.h>
+#import <RxLibrary/GRXWriter+Immediate.h>
+#import <RxLibrary/GRXWriteable.h>
@implementation ViewController
diff --git a/src/objective-c/tests/GRPCClientTests.m b/src/objective-c/tests/GRPCClientTests.m
index 268e67af2f..e421127ea1 100644
--- a/src/objective-c/tests/GRPCClientTests.m
+++ b/src/objective-c/tests/GRPCClientTests.m
@@ -34,11 +34,11 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
-#import <gRPC/GRPCCall.h>
-#import <gRPC/GRPCMethodName.h>
-#import <gRPC/GRXWriter+Immediate.h>
-#import <gRPC/GRXWriteable.h>
+#import <GRPCClient/GRPCCall.h>
+#import <GRPCClient/GRPCMethodName.h>
#import <RemoteTest/Messages.pbobjc.h>
+#import <RxLibrary/GRXWriteable.h>
+#import <RxLibrary/GRXWriter+Immediate.h>
// These are a few tests similar to InteropTests, but which use the generic gRPC client (GRPCCall)
// rather than a generated proto library on top of it.
diff --git a/src/objective-c/tests/InteropTests.m b/src/objective-c/tests/InteropTests.m
index 0a512c17dc..684f7c2ff6 100644
--- a/src/objective-c/tests/InteropTests.m
+++ b/src/objective-c/tests/InteropTests.m
@@ -36,13 +36,13 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
-#import <gRPC/GRXWriter+Immediate.h>
-#import <gRPC/GRXBufferedPipe.h>
-#import <gRPC/ProtoRPC.h>
+#import <ProtoRPC/ProtoRPC.h>
#import <RemoteTest/Empty.pbobjc.h>
#import <RemoteTest/Messages.pbobjc.h>
#import <RemoteTest/Test.pbobjc.h>
#import <RemoteTest/Test.pbrpc.h>
+#import <RxLibrary/GRXBufferedPipe.h>
+#import <RxLibrary/GRXWriter+Immediate.h>
// Convenience constructors for the generated proto messages:
diff --git a/src/objective-c/tests/LocalClearTextTests.m b/src/objective-c/tests/LocalClearTextTests.m
index 68ffd23200..05cc10410a 100644
--- a/src/objective-c/tests/LocalClearTextTests.m
+++ b/src/objective-c/tests/LocalClearTextTests.m
@@ -34,12 +34,12 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
-#import <gRPC/GRPCCall.h>
-#import <gRPC/GRPCMethodName.h>
-#import <gRPC/GRXWriter+Immediate.h>
-#import <gRPC/GRXWriteable.h>
+#import <GRPCClient/GRPCCall.h>
+#import <GRPCClient/GRPCMethodName.h>
#import <RouteGuide/RouteGuide.pbobjc.h>
#import <RouteGuide/RouteGuide.pbrpc.h>
+#import <RxLibrary/GRXWriteable.h>
+#import <RxLibrary/GRXWriter+Immediate.h>
// These tests require a gRPC "RouteGuide" sample server to be running locally. You can compile and
// run one by following the instructions here: https://github.com/grpc/grpc-common/blob/master/cpp/cpptutorial.md#try-it-out
diff --git a/src/objective-c/tests/RxLibraryUnitTests.m b/src/objective-c/tests/RxLibraryUnitTests.m
index 89984d9481..5e3162875a 100644
--- a/src/objective-c/tests/RxLibraryUnitTests.m
+++ b/src/objective-c/tests/RxLibraryUnitTests.m
@@ -34,9 +34,9 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
-#import <gRPC/GRXBufferedPipe.h>
-#import <gRPC/GRXWriter.h>
-#import <gRPC/GRXWriteable.h>
+#import <RxLibrary/GRXBufferedPipe.h>
+#import <RxLibrary/GRXWriteable.h>
+#import <RxLibrary/GRXWriter.h>
// A mock of a GRXSingleValueHandler block that can be queried for how many times it was called and
// what were the last values passed to it.
diff --git a/templates/BUILD.template b/templates/BUILD.template
index ec5fb3584f..63e9f9ebeb 100644
--- a/templates/BUILD.template
+++ b/templates/BUILD.template
@@ -112,3 +112,30 @@ cc_binary(
],
)
</%def>
+
+objc_path = "src/objective-c"
+
+rx_library_path = objc_path + "/RxLibrary"
+
+objc_library(
+ name = "rx_library",
+ hdrs = glob([
+ rx_library_path + "/*.h",
+ rx_library_path + "/transformations/*.h",
+ ]),
+ srcs = glob([
+ rx_library_path + "/*.m",
+ rx_library_path + "/transformations/*.m",
+ ]),
+ includes = [objc_path],
+ deps = [
+ ":rx_library_private",
+ ],
+)
+
+objc_library(
+ name = "rx_library_private",
+ hdrs = glob([rx_library_path + "/private/*.h"]),
+ srcs = glob([rx_library_path + "/private/*.m"]),
+ visibility = ["//visibility:private"],
+)
diff --git a/templates/gRPC.podspec.template b/templates/gRPC.podspec.template
index 03c303b414..02e90d7180 100644
--- a/templates/gRPC.podspec.template
+++ b/templates/gRPC.podspec.template
@@ -38,11 +38,27 @@ bad_header_names = ('time.h', 'string.h')
def fix_header_name(name):
split_name = name.split('/')
if split_name[-1] in bad_header_names:
- return '/'.join(split_name[:-1] + ['grpc_' + split_name[-1]])
- else:
- return name
+ split_name[-1] = 'grpc_' + split_name[-1]
+ if split_name[0] == 'include':
+ split_name = split_name[1:]
+ return '/'.join(split_name)
+
+def grpc_files(libs):
+ out = []
+ for lib in libs:
+ if lib.name in ("grpc", "gpr"):
+ out.extend(fix_header_name(h) for h in lib.get('headers', []))
+ out.extend(fix_header_name(h) for h in lib.get('public_headers', []))
+ out.extend(lib.get('src', []))
+ return out;
+
+def grpc_private_headers(libs):
+ out = []
+ for lib in libs:
+ if lib.name in ("grpc", "gpr"):
+ out.extend(lib.get('headers', []))
+ return out
%>
-
Pod::Spec.new do |s|
s.name = 'gRPC'
s.version = '0.6.0'
@@ -58,53 +74,27 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.8'
s.requires_arc = true
+ objc_dir = 'src/objective-c'
+
# Reactive Extensions library for iOS.
- s.subspec 'RxLibrary' do |rs|
- rs.source_files = 'src/objective-c/RxLibrary/*.{h,m}',
- 'src/objective-c/RxLibrary/transformations/*.{h,m}',
- 'src/objective-c/RxLibrary/private/*.{h,m}'
- rs.private_header_files = 'src/objective-c/RxLibrary/private/*.h'
+ s.subspec 'RxLibrary' do |ss|
+ src_dir = "#{objc_dir}/RxLibrary"
+ ss.source_files = "#{src_dir}/*.{h,m}", "#{src_dir}/**/*.{h,m}"
+ ss.private_header_files = "#{src_dir}/private/*.h"
+ ss.header_mappings_dir = "#{objc_dir}"
end
# Core cross-platform gRPC library, written in C.
- s.subspec 'C-Core' do |cs|
- cs.source_files = \
-% for lib in libs:
-% if lib.name in ("grpc", "gpr"):
-% for hdr in lib.get("headers", []):
-'${fix_header_name(hdr)}', \
-% endfor
-% for hdr in lib.get("public_headers", []):
-'${fix_header_name(hdr)}', \
-% endfor
-% for src in lib.src:
-'${src}', \
-% endfor
-% endif
-% endfor
-
- cs.private_header_files = \
-% for lib in libs:
-% if lib.name in ("grpc", "gpr"):
-% for hdr in lib.get("headers", []):
-'${hdr}', \
-% endfor
-% endif
-% endfor
-
- cs.header_mappings_dir = '.'
- # The core library includes its headers as either "src/core/..." or "grpc/...", meaning we have
- # to tell XCode to look for headers under the "include" subdirectory too.
- #
- # TODO(jcanizales): Instead of doing this, during installation move everything under
- # "include/grpc" one directory up. The directory names under PODS_ROOT are implementation
- # details of Cocoapods, and have changed in the past, breaking this podspec.
- cs.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Private/gRPC" ' +
- '"$(PODS_ROOT)/Headers/Private/gRPC/include"' }
-
- cs.requires_arc = false
- cs.libraries = 'z'
- cs.dependency 'OpenSSL', '~> 1.0.200'
+ s.subspec 'C-Core' do |ss|
+ ss.source_files = ${(',\n' + 22*' ').join('\'%s\'' % f for f in grpc_files(libs))}
+
+ ss.private_header_files = ${(',\n' + 30*' ').join('\'%s\'' % f for f in grpc_private_headers(libs))}
+
+ ss.header_mappings_dir = '.'
+
+ ss.requires_arc = false
+ ss.libraries = 'z'
+ ss.dependency 'OpenSSL', '~> 1.0.200'
end
# This is a workaround for Cocoapods Issue #1437.
@@ -112,12 +102,15 @@ Pod::Spec.new do |s|
# It needs to be here (top-level) instead of in the C-Core subspec because Cocoapods doesn't run
# prepare_command's of subspecs.
#
- # TODO(jcanizales): Try out Todd Reed's solution at Issue #1437.
+ # TODO(jcanizales): Try out others' solutions at Issue #1437.
s.prepare_command = <<-CMD
+ # Move contents of include up a level to avoid manually specifying include paths
+ cp -r "include/grpc" "."
+
DIR_TIME="grpc/support"
BAD_TIME="$DIR_TIME/time.h"
GOOD_TIME="$DIR_TIME/grpc_time.h"
- grep -rl "$BAD_TIME" include/grpc src/core | xargs sed -i '' -e s@$BAD_TIME@$GOOD_TIME@g
+ grep -rl "$BAD_TIME" grpc src/core src/objective-c/GRPCClient | xargs sed -i '' -e s@$BAD_TIME@$GOOD_TIME@g
if [ -f "include/$BAD_TIME" ];
then
mv -f "include/$BAD_TIME" "include/$GOOD_TIME"
@@ -126,7 +119,7 @@ Pod::Spec.new do |s|
DIR_STRING="src/core/support"
BAD_STRING="$DIR_STRING/string.h"
GOOD_STRING="$DIR_STRING/grpc_string.h"
- grep -rl "$BAD_STRING" include/grpc src/core | xargs sed -i '' -e s@$BAD_STRING@$GOOD_STRING@g
+ grep -rl "$BAD_STRING" grpc src/core src/objective-c/GRPCClient | xargs sed -i '' -e s@$BAD_STRING@$GOOD_STRING@g
if [ -f "$BAD_STRING" ];
then
mv -f "$BAD_STRING" "$GOOD_STRING"
@@ -134,28 +127,27 @@ Pod::Spec.new do |s|
CMD
# Objective-C wrapper around the core gRPC library.
- s.subspec 'GRPCClient' do |gs|
- gs.source_files = 'src/objective-c/GRPCClient/*.{h,m}',
- 'src/objective-c/GRPCClient/private/*.{h,m}'
- gs.private_header_files = 'src/objective-c/GRPCClient/private/*.h'
- gs.compiler_flags = '-GCC_WARN_INHIBIT_ALL_WARNINGS', '-w'
-
- gs.dependency 'gRPC/C-Core'
- # TODO(jcanizales): Remove this when the prepare_command moves everything under "include/grpc"
- # one directory up.
- gs.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Public/gRPC/include"' }
- gs.dependency 'gRPC/RxLibrary'
+ s.subspec 'GRPCClient' do |ss|
+ src_dir = "#{objc_dir}/GRPCClient"
+ ss.source_files = "#{src_dir}/*.{h,m}", "#{src_dir}/**/*.{h,m}"
+ ss.private_header_files = "#{src_dir}/private/*.h"
+ ss.header_mappings_dir = "#{objc_dir}"
+
+ ss.dependency 'gRPC/C-Core'
+ ss.dependency 'gRPC/RxLibrary'
# Certificates, to be able to establish TLS connections:
- gs.resource_bundles = { 'gRPC' => ['etc/roots.pem'] }
+ ss.resource_bundles = { 'gRPC' => ['etc/roots.pem'] }
end
# RPC library for ProtocolBuffers, based on gRPC
- s.subspec 'ProtoRPC' do |ps|
- ps.source_files = 'src/objective-c/ProtoRPC/*.{h,m}'
-
- ps.dependency 'gRPC/GRPCClient'
- ps.dependency 'gRPC/RxLibrary'
- ps.dependency 'Protobuf', '~> 3.0.0-alpha-3'
+ s.subspec 'ProtoRPC' do |ss|
+ src_dir = "#{objc_dir}/ProtoRPC"
+ ss.source_files = "#{src_dir}/*.{h,m}"
+ ss.header_mappings_dir = "#{objc_dir}"
+
+ ss.dependency 'gRPC/GRPCClient'
+ ss.dependency 'gRPC/RxLibrary'
+ ss.dependency 'Protobuf', '~> 3.0.0-alpha-3'
end
end
diff --git a/templates/tools/doxygen/Doxyfile.include b/templates/tools/doxygen/Doxyfile.include
index 1391016348..2934ebe7d8 100644
--- a/templates/tools/doxygen/Doxyfile.include
+++ b/templates/tools/doxygen/Doxyfile.include
@@ -778,7 +778,7 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = ${' '.join(
+INPUT = ${' \\\n'.join(
itertools.chain.from_iterable(
target.public_headers +
([]
diff --git a/test/proto/messages.proto b/test/proto/messages.proto
index 65a8140465..500e79cc81 100644
--- a/test/proto/messages.proto
+++ b/test/proto/messages.proto
@@ -46,6 +46,14 @@ enum PayloadType {
RANDOM = 2;
}
+// Compression algorithms
+enum CompressionType {
+ // No compression
+ NONE = 0;
+ GZIP = 1;
+ DEFLATE = 2;
+}
+
// A block of data, to simply increase gRPC message size.
message Payload {
// The type of data in body.
@@ -54,6 +62,13 @@ message Payload {
optional bytes body = 2;
}
+// A protobuf representation for grpc status. This is used by test
+// clients to specify a status that the server should attempt to return.
+message EchoStatus {
+ optional int32 code = 1;
+ optional string message = 2;
+}
+
// Unary request.
message SimpleRequest {
// Desired payload type in the response from the server.
@@ -72,6 +87,12 @@ message SimpleRequest {
// Whether SimpleResponse should include OAuth scope.
optional bool fill_oauth_scope = 5;
+
+ // Compression algorithm to be used by the server for the response (stream)
+ optional CompressionType response_compression = 6;
+
+ // Whether server should return a given status
+ optional EchoStatus response_status = 7;
}
// Unary response, as configured by the request.
@@ -123,6 +144,12 @@ message StreamingOutputCallRequest {
// Optional input payload sent along with the request.
optional Payload payload = 3;
+
+ // Compression algorithm to be used by the server for the response (stream)
+ optional CompressionType response_compression = 6;
+
+ // Whether server should return a given status
+ optional EchoStatus response_status = 7;
}
// Server-streaming response, as configured by the request and parameters.
diff --git a/test/proto/test.proto b/test/proto/test.proto
index b9483d8437..1214152513 100644
--- a/test/proto/test.proto
+++ b/test/proto/test.proto
@@ -71,3 +71,11 @@ service TestService {
rpc HalfDuplexCall(stream StreamingOutputCallRequest)
returns (stream StreamingOutputCallResponse);
}
+
+
+// A simple service NOT implemented at servers so clients can test for
+// that case.
+service UnimplementedService {
+ // A call that no server should implement
+ rpc UnimplementedCall(grpc.testing.Empty) returns(grpc.testing.Empty);
+}
diff --git a/src/core/transport/chttp2/gen_hpack_tables.c b/tools/codegen/core/gen_hpack_tables.c
index bdaa3cf094..bdaa3cf094 100644
--- a/src/core/transport/chttp2/gen_hpack_tables.c
+++ b/tools/codegen/core/gen_hpack_tables.c
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index f947b7823e..d782dc18f7 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -760,7 +760,43 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = include/grpc++/async_generic_service.h include/grpc++/async_unary_call.h include/grpc++/byte_buffer.h include/grpc++/channel_arguments.h include/grpc++/channel_interface.h include/grpc++/client_context.h include/grpc++/completion_queue.h include/grpc++/config.h include/grpc++/config_protobuf.h include/grpc++/create_channel.h include/grpc++/credentials.h include/grpc++/generic_stub.h include/grpc++/impl/call.h include/grpc++/impl/client_unary_call.h include/grpc++/impl/grpc_library.h include/grpc++/impl/internal_stub.h include/grpc++/impl/proto_utils.h include/grpc++/impl/rpc_method.h include/grpc++/impl/rpc_service_method.h include/grpc++/impl/serialization_traits.h include/grpc++/impl/service_type.h include/grpc++/impl/sync.h include/grpc++/impl/sync_cxx11.h include/grpc++/impl/sync_no_cxx11.h include/grpc++/impl/thd.h include/grpc++/impl/thd_cxx11.h include/grpc++/impl/thd_no_cxx11.h include/grpc++/server.h include/grpc++/server_builder.h include/grpc++/server_context.h include/grpc++/server_credentials.h include/grpc++/slice.h include/grpc++/status.h include/grpc++/status_code_enum.h include/grpc++/stream.h include/grpc++/thread_pool_interface.h include/grpc++/time.h
+INPUT = include/grpc++/async_generic_service.h \
+include/grpc++/async_unary_call.h \
+include/grpc++/byte_buffer.h \
+include/grpc++/channel_arguments.h \
+include/grpc++/channel_interface.h \
+include/grpc++/client_context.h \
+include/grpc++/completion_queue.h \
+include/grpc++/config.h \
+include/grpc++/config_protobuf.h \
+include/grpc++/create_channel.h \
+include/grpc++/credentials.h \
+include/grpc++/generic_stub.h \
+include/grpc++/impl/call.h \
+include/grpc++/impl/client_unary_call.h \
+include/grpc++/impl/grpc_library.h \
+include/grpc++/impl/internal_stub.h \
+include/grpc++/impl/proto_utils.h \
+include/grpc++/impl/rpc_method.h \
+include/grpc++/impl/rpc_service_method.h \
+include/grpc++/impl/serialization_traits.h \
+include/grpc++/impl/service_type.h \
+include/grpc++/impl/sync.h \
+include/grpc++/impl/sync_cxx11.h \
+include/grpc++/impl/sync_no_cxx11.h \
+include/grpc++/impl/thd.h \
+include/grpc++/impl/thd_cxx11.h \
+include/grpc++/impl/thd_no_cxx11.h \
+include/grpc++/server.h \
+include/grpc++/server_builder.h \
+include/grpc++/server_context.h \
+include/grpc++/server_credentials.h \
+include/grpc++/slice.h \
+include/grpc++/status.h \
+include/grpc++/status_code_enum.h \
+include/grpc++/stream.h \
+include/grpc++/thread_pool_interface.h \
+include/grpc++/time.h
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index deee6837a0..575cd95753 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -760,7 +760,74 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = include/grpc++/async_generic_service.h include/grpc++/async_unary_call.h include/grpc++/byte_buffer.h include/grpc++/channel_arguments.h include/grpc++/channel_interface.h include/grpc++/client_context.h include/grpc++/completion_queue.h include/grpc++/config.h include/grpc++/config_protobuf.h include/grpc++/create_channel.h include/grpc++/credentials.h include/grpc++/generic_stub.h include/grpc++/impl/call.h include/grpc++/impl/client_unary_call.h include/grpc++/impl/grpc_library.h include/grpc++/impl/internal_stub.h include/grpc++/impl/proto_utils.h include/grpc++/impl/rpc_method.h include/grpc++/impl/rpc_service_method.h include/grpc++/impl/serialization_traits.h include/grpc++/impl/service_type.h include/grpc++/impl/sync.h include/grpc++/impl/sync_cxx11.h include/grpc++/impl/sync_no_cxx11.h include/grpc++/impl/thd.h include/grpc++/impl/thd_cxx11.h include/grpc++/impl/thd_no_cxx11.h include/grpc++/server.h include/grpc++/server_builder.h include/grpc++/server_context.h include/grpc++/server_credentials.h include/grpc++/slice.h include/grpc++/status.h include/grpc++/status_code_enum.h include/grpc++/stream.h include/grpc++/thread_pool_interface.h include/grpc++/time.h src/cpp/client/secure_credentials.h src/cpp/server/secure_server_credentials.h src/cpp/client/channel.h src/cpp/server/thread_pool.h src/cpp/client/secure_channel_arguments.cc src/cpp/client/secure_credentials.cc src/cpp/server/secure_server_credentials.cc src/cpp/client/channel.cc src/cpp/client/channel_arguments.cc src/cpp/client/client_context.cc src/cpp/client/create_channel.cc src/cpp/client/credentials.cc src/cpp/client/generic_stub.cc src/cpp/client/insecure_credentials.cc src/cpp/client/internal_stub.cc src/cpp/common/call.cc src/cpp/common/completion_queue.cc src/cpp/common/rpc_method.cc src/cpp/proto/proto_utils.cc src/cpp/server/async_generic_service.cc src/cpp/server/create_default_thread_pool.cc src/cpp/server/insecure_server_credentials.cc src/cpp/server/server.cc src/cpp/server/server_builder.cc src/cpp/server/server_context.cc src/cpp/server/server_credentials.cc src/cpp/server/thread_pool.cc src/cpp/util/byte_buffer.cc src/cpp/util/slice.cc src/cpp/util/status.cc src/cpp/util/time.cc
+INPUT = include/grpc++/async_generic_service.h \
+include/grpc++/async_unary_call.h \
+include/grpc++/byte_buffer.h \
+include/grpc++/channel_arguments.h \
+include/grpc++/channel_interface.h \
+include/grpc++/client_context.h \
+include/grpc++/completion_queue.h \
+include/grpc++/config.h \
+include/grpc++/config_protobuf.h \
+include/grpc++/create_channel.h \
+include/grpc++/credentials.h \
+include/grpc++/generic_stub.h \
+include/grpc++/impl/call.h \
+include/grpc++/impl/client_unary_call.h \
+include/grpc++/impl/grpc_library.h \
+include/grpc++/impl/internal_stub.h \
+include/grpc++/impl/proto_utils.h \
+include/grpc++/impl/rpc_method.h \
+include/grpc++/impl/rpc_service_method.h \
+include/grpc++/impl/serialization_traits.h \
+include/grpc++/impl/service_type.h \
+include/grpc++/impl/sync.h \
+include/grpc++/impl/sync_cxx11.h \
+include/grpc++/impl/sync_no_cxx11.h \
+include/grpc++/impl/thd.h \
+include/grpc++/impl/thd_cxx11.h \
+include/grpc++/impl/thd_no_cxx11.h \
+include/grpc++/server.h \
+include/grpc++/server_builder.h \
+include/grpc++/server_context.h \
+include/grpc++/server_credentials.h \
+include/grpc++/slice.h \
+include/grpc++/status.h \
+include/grpc++/status_code_enum.h \
+include/grpc++/stream.h \
+include/grpc++/thread_pool_interface.h \
+include/grpc++/time.h \
+src/cpp/client/secure_credentials.h \
+src/cpp/server/secure_server_credentials.h \
+src/cpp/client/channel.h \
+src/cpp/server/thread_pool.h \
+src/cpp/client/secure_channel_arguments.cc \
+src/cpp/client/secure_credentials.cc \
+src/cpp/server/secure_server_credentials.cc \
+src/cpp/client/channel.cc \
+src/cpp/client/channel_arguments.cc \
+src/cpp/client/client_context.cc \
+src/cpp/client/create_channel.cc \
+src/cpp/client/credentials.cc \
+src/cpp/client/generic_stub.cc \
+src/cpp/client/insecure_credentials.cc \
+src/cpp/client/internal_stub.cc \
+src/cpp/common/call.cc \
+src/cpp/common/completion_queue.cc \
+src/cpp/common/rpc_method.cc \
+src/cpp/proto/proto_utils.cc \
+src/cpp/server/async_generic_service.cc \
+src/cpp/server/create_default_thread_pool.cc \
+src/cpp/server/insecure_server_credentials.cc \
+src/cpp/server/server.cc \
+src/cpp/server/server_builder.cc \
+src/cpp/server/server_context.cc \
+src/cpp/server/server_credentials.cc \
+src/cpp/server/thread_pool.cc \
+src/cpp/util/byte_buffer.cc \
+src/cpp/util/slice.cc \
+src/cpp/util/status.cc \
+src/cpp/util/time.cc
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core
index 7cc96b2e06..1bfd787528 100644
--- a/tools/doxygen/Doxyfile.core
+++ b/tools/doxygen/Doxyfile.core
@@ -760,7 +760,41 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = include/grpc/grpc_security.h include/grpc/byte_buffer.h include/grpc/byte_buffer_reader.h include/grpc/compression.h include/grpc/grpc.h include/grpc/status.h include/grpc/census.h include/grpc/support/alloc.h include/grpc/support/atm.h include/grpc/support/atm_gcc_atomic.h include/grpc/support/atm_gcc_sync.h include/grpc/support/atm_win32.h include/grpc/support/cancellable_platform.h include/grpc/support/cmdline.h include/grpc/support/cpu.h include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_win32.h include/grpc/support/port_platform.h include/grpc/support/slice.h include/grpc/support/slice_buffer.h include/grpc/support/string_util.h include/grpc/support/subprocess.h include/grpc/support/sync.h include/grpc/support/sync_generic.h include/grpc/support/sync_posix.h include/grpc/support/sync_win32.h include/grpc/support/thd.h include/grpc/support/time.h include/grpc/support/tls.h include/grpc/support/tls_gcc.h include/grpc/support/tls_msvc.h include/grpc/support/tls_pthread.h include/grpc/support/useful.h
+INPUT = include/grpc/grpc_security.h \
+include/grpc/byte_buffer.h \
+include/grpc/byte_buffer_reader.h \
+include/grpc/compression.h \
+include/grpc/grpc.h \
+include/grpc/status.h \
+include/grpc/census.h \
+include/grpc/support/alloc.h \
+include/grpc/support/atm.h \
+include/grpc/support/atm_gcc_atomic.h \
+include/grpc/support/atm_gcc_sync.h \
+include/grpc/support/atm_win32.h \
+include/grpc/support/cancellable_platform.h \
+include/grpc/support/cmdline.h \
+include/grpc/support/cpu.h \
+include/grpc/support/histogram.h \
+include/grpc/support/host_port.h \
+include/grpc/support/log.h \
+include/grpc/support/log_win32.h \
+include/grpc/support/port_platform.h \
+include/grpc/support/slice.h \
+include/grpc/support/slice_buffer.h \
+include/grpc/support/string_util.h \
+include/grpc/support/subprocess.h \
+include/grpc/support/sync.h \
+include/grpc/support/sync_generic.h \
+include/grpc/support/sync_posix.h \
+include/grpc/support/sync_win32.h \
+include/grpc/support/thd.h \
+include/grpc/support/time.h \
+include/grpc/support/tls.h \
+include/grpc/support/tls_gcc.h \
+include/grpc/support/tls_msvc.h \
+include/grpc/support/tls_pthread.h \
+include/grpc/support/useful.h
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index ce18bb4f27..0fa529f89e 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -760,7 +760,302 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = include/grpc/grpc_security.h include/grpc/byte_buffer.h include/grpc/byte_buffer_reader.h include/grpc/compression.h include/grpc/grpc.h include/grpc/status.h include/grpc/census.h src/core/httpcli/format_request.h src/core/httpcli/httpcli.h src/core/httpcli/httpcli_security_connector.h src/core/httpcli/parser.h src/core/security/auth_filters.h src/core/security/base64.h src/core/security/credentials.h src/core/security/json_token.h src/core/security/secure_endpoint.h src/core/security/secure_transport_setup.h src/core/security/security_connector.h src/core/security/security_context.h src/core/tsi/fake_transport_security.h src/core/tsi/ssl_transport_security.h src/core/tsi/transport_security.h src/core/tsi/transport_security_interface.h src/core/census/grpc_context.h src/core/channel/census_filter.h src/core/channel/channel_args.h src/core/channel/channel_stack.h src/core/channel/child_channel.h src/core/channel/client_channel.h src/core/channel/client_setup.h src/core/channel/connected_channel.h src/core/channel/context.h src/core/channel/http_client_filter.h src/core/channel/http_server_filter.h src/core/channel/noop_filter.h src/core/compression/message_compress.h src/core/debug/trace.h src/core/iomgr/alarm.h src/core/iomgr/alarm_heap.h src/core/iomgr/alarm_internal.h src/core/iomgr/endpoint.h src/core/iomgr/endpoint_pair.h src/core/iomgr/fd_posix.h src/core/iomgr/iocp_windows.h src/core/iomgr/iomgr.h src/core/iomgr/iomgr_internal.h src/core/iomgr/iomgr_posix.h src/core/iomgr/pollset.h src/core/iomgr/pollset_kick_posix.h src/core/iomgr/pollset_posix.h src/core/iomgr/pollset_set.h src/core/iomgr/pollset_set_posix.h src/core/iomgr/pollset_set_windows.h src/core/iomgr/pollset_windows.h src/core/iomgr/resolve_address.h src/core/iomgr/sockaddr.h src/core/iomgr/sockaddr_posix.h src/core/iomgr/sockaddr_utils.h src/core/iomgr/sockaddr_win32.h src/core/iomgr/socket_utils_posix.h src/core/iomgr/socket_windows.h src/core/iomgr/tcp_client.h src/core/iomgr/tcp_posix.h src/core/iomgr/tcp_server.h src/core/iomgr/tcp_windows.h src/core/iomgr/time_averaged_stats.h src/core/iomgr/wakeup_fd_pipe.h src/core/iomgr/wakeup_fd_posix.h src/core/json/json.h src/core/json/json_common.h src/core/json/json_reader.h src/core/json/json_writer.h src/core/profiling/timers.h src/core/profiling/timers_preciseclock.h src/core/surface/byte_buffer_queue.h src/core/surface/call.h src/core/surface/channel.h src/core/surface/client.h src/core/surface/completion_queue.h src/core/surface/event_string.h src/core/surface/init.h src/core/surface/server.h src/core/surface/surface_trace.h src/core/transport/chttp2/alpn.h src/core/transport/chttp2/bin_encoder.h src/core/transport/chttp2/frame.h src/core/transport/chttp2/frame_data.h src/core/transport/chttp2/frame_goaway.h src/core/transport/chttp2/frame_ping.h src/core/transport/chttp2/frame_rst_stream.h src/core/transport/chttp2/frame_settings.h src/core/transport/chttp2/frame_window_update.h src/core/transport/chttp2/hpack_parser.h src/core/transport/chttp2/hpack_table.h src/core/transport/chttp2/http2_errors.h src/core/transport/chttp2/huffsyms.h src/core/transport/chttp2/status_conversion.h src/core/transport/chttp2/stream_encoder.h src/core/transport/chttp2/stream_map.h src/core/transport/chttp2/timeout_encoding.h src/core/transport/chttp2/varint.h src/core/transport/chttp2_transport.h src/core/transport/metadata.h src/core/transport/stream_op.h src/core/transport/transport.h src/core/transport/transport_impl.h src/core/census/context.h src/core/httpcli/format_request.c src/core/httpcli/httpcli.c src/core/httpcli/httpcli_security_connector.c src/core/httpcli/parser.c src/core/security/base64.c src/core/security/client_auth_filter.c src/core/security/credentials.c src/core/security/credentials_metadata.c src/core/security/credentials_posix.c src/core/security/credentials_win32.c src/core/security/google_default_credentials.c src/core/security/json_token.c src/core/security/secure_endpoint.c src/core/security/secure_transport_setup.c src/core/security/security_connector.c src/core/security/security_context.c src/core/security/server_auth_filter.c src/core/security/server_secure_chttp2.c src/core/surface/init_secure.c src/core/surface/secure_channel_create.c src/core/tsi/fake_transport_security.c src/core/tsi/ssl_transport_security.c src/core/tsi/transport_security.c src/core/census/grpc_context.c src/core/channel/channel_args.c src/core/channel/channel_stack.c src/core/channel/child_channel.c src/core/channel/client_channel.c src/core/channel/client_setup.c src/core/channel/connected_channel.c src/core/channel/http_client_filter.c src/core/channel/http_server_filter.c src/core/channel/noop_filter.c src/core/compression/algorithm.c src/core/compression/message_compress.c src/core/debug/trace.c src/core/iomgr/alarm.c src/core/iomgr/alarm_heap.c src/core/iomgr/endpoint.c src/core/iomgr/endpoint_pair_posix.c src/core/iomgr/endpoint_pair_windows.c src/core/iomgr/fd_posix.c src/core/iomgr/iocp_windows.c src/core/iomgr/iomgr.c src/core/iomgr/iomgr_posix.c src/core/iomgr/iomgr_windows.c src/core/iomgr/pollset_kick_posix.c src/core/iomgr/pollset_multipoller_with_epoll.c src/core/iomgr/pollset_multipoller_with_poll_posix.c src/core/iomgr/pollset_posix.c src/core/iomgr/pollset_set_posix.c src/core/iomgr/pollset_set_windows.c src/core/iomgr/pollset_windows.c src/core/iomgr/resolve_address_posix.c src/core/iomgr/resolve_address_windows.c src/core/iomgr/sockaddr_utils.c src/core/iomgr/socket_utils_common_posix.c src/core/iomgr/socket_utils_linux.c src/core/iomgr/socket_utils_posix.c src/core/iomgr/socket_windows.c src/core/iomgr/tcp_client_posix.c src/core/iomgr/tcp_client_windows.c src/core/iomgr/tcp_posix.c src/core/iomgr/tcp_server_posix.c src/core/iomgr/tcp_server_windows.c src/core/iomgr/tcp_windows.c src/core/iomgr/time_averaged_stats.c src/core/iomgr/wakeup_fd_eventfd.c src/core/iomgr/wakeup_fd_nospecial.c src/core/iomgr/wakeup_fd_pipe.c src/core/iomgr/wakeup_fd_posix.c src/core/json/json.c src/core/json/json_reader.c src/core/json/json_string.c src/core/json/json_writer.c src/core/profiling/basic_timers.c src/core/profiling/stap_timers.c src/core/surface/byte_buffer.c src/core/surface/byte_buffer_queue.c src/core/surface/byte_buffer_reader.c src/core/surface/call.c src/core/surface/call_details.c src/core/surface/call_log_batch.c src/core/surface/channel.c src/core/surface/channel_create.c src/core/surface/client.c src/core/surface/completion_queue.c src/core/surface/event_string.c src/core/surface/init.c src/core/surface/lame_client.c src/core/surface/metadata_array.c src/core/surface/server.c src/core/surface/server_chttp2.c src/core/surface/server_create.c src/core/surface/surface_trace.c src/core/transport/chttp2/alpn.c src/core/transport/chttp2/bin_encoder.c src/core/transport/chttp2/frame_data.c src/core/transport/chttp2/frame_goaway.c src/core/transport/chttp2/frame_ping.c src/core/transport/chttp2/frame_rst_stream.c src/core/transport/chttp2/frame_settings.c src/core/transport/chttp2/frame_window_update.c src/core/transport/chttp2/hpack_parser.c src/core/transport/chttp2/hpack_table.c src/core/transport/chttp2/huffsyms.c src/core/transport/chttp2/status_conversion.c src/core/transport/chttp2/stream_encoder.c src/core/transport/chttp2/stream_map.c src/core/transport/chttp2/timeout_encoding.c src/core/transport/chttp2/varint.c src/core/transport/chttp2_transport.c src/core/transport/metadata.c src/core/transport/stream_op.c src/core/transport/transport.c src/core/transport/transport_op_string.c src/core/census/context.c src/core/census/initialize.c include/grpc/support/alloc.h include/grpc/support/atm.h include/grpc/support/atm_gcc_atomic.h include/grpc/support/atm_gcc_sync.h include/grpc/support/atm_win32.h include/grpc/support/cancellable_platform.h include/grpc/support/cmdline.h include/grpc/support/cpu.h include/grpc/support/histogram.h include/grpc/support/host_port.h include/grpc/support/log.h include/grpc/support/log_win32.h include/grpc/support/port_platform.h include/grpc/support/slice.h include/grpc/support/slice_buffer.h include/grpc/support/string_util.h include/grpc/support/subprocess.h include/grpc/support/sync.h include/grpc/support/sync_generic.h include/grpc/support/sync_posix.h include/grpc/support/sync_win32.h include/grpc/support/thd.h include/grpc/support/time.h include/grpc/support/tls.h include/grpc/support/tls_gcc.h include/grpc/support/tls_msvc.h include/grpc/support/tls_pthread.h include/grpc/support/useful.h src/core/support/env.h src/core/support/file.h src/core/support/murmur_hash.h src/core/support/string.h src/core/support/string_win32.h src/core/support/thd_internal.h src/core/support/alloc.c src/core/support/cancellable.c src/core/support/cmdline.c src/core/support/cpu_iphone.c src/core/support/cpu_linux.c src/core/support/cpu_posix.c src/core/support/cpu_windows.c src/core/support/env_linux.c src/core/support/env_posix.c src/core/support/env_win32.c src/core/support/file.c src/core/support/file_posix.c src/core/support/file_win32.c src/core/support/histogram.c src/core/support/host_port.c src/core/support/log.c src/core/support/log_android.c src/core/support/log_linux.c src/core/support/log_posix.c src/core/support/log_win32.c src/core/support/murmur_hash.c src/core/support/slice.c src/core/support/slice_buffer.c src/core/support/string.c src/core/support/string_posix.c src/core/support/string_win32.c src/core/support/subprocess_posix.c src/core/support/sync.c src/core/support/sync_posix.c src/core/support/sync_win32.c src/core/support/thd.c src/core/support/thd_posix.c src/core/support/thd_win32.c src/core/support/time.c src/core/support/time_posix.c src/core/support/time_win32.c src/core/support/tls_pthread.c
+INPUT = include/grpc/grpc_security.h \
+include/grpc/byte_buffer.h \
+include/grpc/byte_buffer_reader.h \
+include/grpc/compression.h \
+include/grpc/grpc.h \
+include/grpc/status.h \
+include/grpc/census.h \
+src/core/httpcli/format_request.h \
+src/core/httpcli/httpcli.h \
+src/core/httpcli/httpcli_security_connector.h \
+src/core/httpcli/parser.h \
+src/core/security/auth_filters.h \
+src/core/security/base64.h \
+src/core/security/credentials.h \
+src/core/security/json_token.h \
+src/core/security/secure_endpoint.h \
+src/core/security/secure_transport_setup.h \
+src/core/security/security_connector.h \
+src/core/security/security_context.h \
+src/core/tsi/fake_transport_security.h \
+src/core/tsi/ssl_transport_security.h \
+src/core/tsi/transport_security.h \
+src/core/tsi/transport_security_interface.h \
+src/core/census/grpc_context.h \
+src/core/channel/census_filter.h \
+src/core/channel/channel_args.h \
+src/core/channel/channel_stack.h \
+src/core/channel/child_channel.h \
+src/core/channel/client_channel.h \
+src/core/channel/client_setup.h \
+src/core/channel/connected_channel.h \
+src/core/channel/context.h \
+src/core/channel/http_client_filter.h \
+src/core/channel/http_server_filter.h \
+src/core/channel/noop_filter.h \
+src/core/compression/message_compress.h \
+src/core/debug/trace.h \
+src/core/iomgr/alarm.h \
+src/core/iomgr/alarm_heap.h \
+src/core/iomgr/alarm_internal.h \
+src/core/iomgr/endpoint.h \
+src/core/iomgr/endpoint_pair.h \
+src/core/iomgr/fd_posix.h \
+src/core/iomgr/iocp_windows.h \
+src/core/iomgr/iomgr.h \
+src/core/iomgr/iomgr_internal.h \
+src/core/iomgr/iomgr_posix.h \
+src/core/iomgr/pollset.h \
+src/core/iomgr/pollset_kick_posix.h \
+src/core/iomgr/pollset_posix.h \
+src/core/iomgr/pollset_set.h \
+src/core/iomgr/pollset_set_posix.h \
+src/core/iomgr/pollset_set_windows.h \
+src/core/iomgr/pollset_windows.h \
+src/core/iomgr/resolve_address.h \
+src/core/iomgr/sockaddr.h \
+src/core/iomgr/sockaddr_posix.h \
+src/core/iomgr/sockaddr_utils.h \
+src/core/iomgr/sockaddr_win32.h \
+src/core/iomgr/socket_utils_posix.h \
+src/core/iomgr/socket_windows.h \
+src/core/iomgr/tcp_client.h \
+src/core/iomgr/tcp_posix.h \
+src/core/iomgr/tcp_server.h \
+src/core/iomgr/tcp_windows.h \
+src/core/iomgr/time_averaged_stats.h \
+src/core/iomgr/wakeup_fd_pipe.h \
+src/core/iomgr/wakeup_fd_posix.h \
+src/core/json/json.h \
+src/core/json/json_common.h \
+src/core/json/json_reader.h \
+src/core/json/json_writer.h \
+src/core/profiling/timers.h \
+src/core/profiling/timers_preciseclock.h \
+src/core/surface/byte_buffer_queue.h \
+src/core/surface/call.h \
+src/core/surface/channel.h \
+src/core/surface/client.h \
+src/core/surface/completion_queue.h \
+src/core/surface/event_string.h \
+src/core/surface/init.h \
+src/core/surface/server.h \
+src/core/surface/surface_trace.h \
+src/core/transport/chttp2/alpn.h \
+src/core/transport/chttp2/bin_encoder.h \
+src/core/transport/chttp2/frame.h \
+src/core/transport/chttp2/frame_data.h \
+src/core/transport/chttp2/frame_goaway.h \
+src/core/transport/chttp2/frame_ping.h \
+src/core/transport/chttp2/frame_rst_stream.h \
+src/core/transport/chttp2/frame_settings.h \
+src/core/transport/chttp2/frame_window_update.h \
+src/core/transport/chttp2/hpack_parser.h \
+src/core/transport/chttp2/hpack_table.h \
+src/core/transport/chttp2/http2_errors.h \
+src/core/transport/chttp2/huffsyms.h \
+src/core/transport/chttp2/status_conversion.h \
+src/core/transport/chttp2/stream_encoder.h \
+src/core/transport/chttp2/stream_map.h \
+src/core/transport/chttp2/timeout_encoding.h \
+src/core/transport/chttp2/varint.h \
+src/core/transport/chttp2_transport.h \
+src/core/transport/metadata.h \
+src/core/transport/stream_op.h \
+src/core/transport/transport.h \
+src/core/transport/transport_impl.h \
+src/core/census/context.h \
+src/core/httpcli/format_request.c \
+src/core/httpcli/httpcli.c \
+src/core/httpcli/httpcli_security_connector.c \
+src/core/httpcli/parser.c \
+src/core/security/base64.c \
+src/core/security/client_auth_filter.c \
+src/core/security/credentials.c \
+src/core/security/credentials_metadata.c \
+src/core/security/credentials_posix.c \
+src/core/security/credentials_win32.c \
+src/core/security/google_default_credentials.c \
+src/core/security/json_token.c \
+src/core/security/secure_endpoint.c \
+src/core/security/secure_transport_setup.c \
+src/core/security/security_connector.c \
+src/core/security/security_context.c \
+src/core/security/server_auth_filter.c \
+src/core/security/server_secure_chttp2.c \
+src/core/surface/init_secure.c \
+src/core/surface/secure_channel_create.c \
+src/core/tsi/fake_transport_security.c \
+src/core/tsi/ssl_transport_security.c \
+src/core/tsi/transport_security.c \
+src/core/census/grpc_context.c \
+src/core/channel/channel_args.c \
+src/core/channel/channel_stack.c \
+src/core/channel/child_channel.c \
+src/core/channel/client_channel.c \
+src/core/channel/client_setup.c \
+src/core/channel/connected_channel.c \
+src/core/channel/http_client_filter.c \
+src/core/channel/http_server_filter.c \
+src/core/channel/noop_filter.c \
+src/core/compression/algorithm.c \
+src/core/compression/message_compress.c \
+src/core/debug/trace.c \
+src/core/iomgr/alarm.c \
+src/core/iomgr/alarm_heap.c \
+src/core/iomgr/endpoint.c \
+src/core/iomgr/endpoint_pair_posix.c \
+src/core/iomgr/endpoint_pair_windows.c \
+src/core/iomgr/fd_posix.c \
+src/core/iomgr/iocp_windows.c \
+src/core/iomgr/iomgr.c \
+src/core/iomgr/iomgr_posix.c \
+src/core/iomgr/iomgr_windows.c \
+src/core/iomgr/pollset_kick_posix.c \
+src/core/iomgr/pollset_multipoller_with_epoll.c \
+src/core/iomgr/pollset_multipoller_with_poll_posix.c \
+src/core/iomgr/pollset_posix.c \
+src/core/iomgr/pollset_set_posix.c \
+src/core/iomgr/pollset_set_windows.c \
+src/core/iomgr/pollset_windows.c \
+src/core/iomgr/resolve_address_posix.c \
+src/core/iomgr/resolve_address_windows.c \
+src/core/iomgr/sockaddr_utils.c \
+src/core/iomgr/socket_utils_common_posix.c \
+src/core/iomgr/socket_utils_linux.c \
+src/core/iomgr/socket_utils_posix.c \
+src/core/iomgr/socket_windows.c \
+src/core/iomgr/tcp_client_posix.c \
+src/core/iomgr/tcp_client_windows.c \
+src/core/iomgr/tcp_posix.c \
+src/core/iomgr/tcp_server_posix.c \
+src/core/iomgr/tcp_server_windows.c \
+src/core/iomgr/tcp_windows.c \
+src/core/iomgr/time_averaged_stats.c \
+src/core/iomgr/wakeup_fd_eventfd.c \
+src/core/iomgr/wakeup_fd_nospecial.c \
+src/core/iomgr/wakeup_fd_pipe.c \
+src/core/iomgr/wakeup_fd_posix.c \
+src/core/json/json.c \
+src/core/json/json_reader.c \
+src/core/json/json_string.c \
+src/core/json/json_writer.c \
+src/core/profiling/basic_timers.c \
+src/core/profiling/stap_timers.c \
+src/core/surface/byte_buffer.c \
+src/core/surface/byte_buffer_queue.c \
+src/core/surface/byte_buffer_reader.c \
+src/core/surface/call.c \
+src/core/surface/call_details.c \
+src/core/surface/call_log_batch.c \
+src/core/surface/channel.c \
+src/core/surface/channel_create.c \
+src/core/surface/client.c \
+src/core/surface/completion_queue.c \
+src/core/surface/event_string.c \
+src/core/surface/init.c \
+src/core/surface/lame_client.c \
+src/core/surface/metadata_array.c \
+src/core/surface/server.c \
+src/core/surface/server_chttp2.c \
+src/core/surface/server_create.c \
+src/core/surface/surface_trace.c \
+src/core/transport/chttp2/alpn.c \
+src/core/transport/chttp2/bin_encoder.c \
+src/core/transport/chttp2/frame_data.c \
+src/core/transport/chttp2/frame_goaway.c \
+src/core/transport/chttp2/frame_ping.c \
+src/core/transport/chttp2/frame_rst_stream.c \
+src/core/transport/chttp2/frame_settings.c \
+src/core/transport/chttp2/frame_window_update.c \
+src/core/transport/chttp2/hpack_parser.c \
+src/core/transport/chttp2/hpack_table.c \
+src/core/transport/chttp2/huffsyms.c \
+src/core/transport/chttp2/status_conversion.c \
+src/core/transport/chttp2/stream_encoder.c \
+src/core/transport/chttp2/stream_map.c \
+src/core/transport/chttp2/timeout_encoding.c \
+src/core/transport/chttp2/varint.c \
+src/core/transport/chttp2_transport.c \
+src/core/transport/metadata.c \
+src/core/transport/stream_op.c \
+src/core/transport/transport.c \
+src/core/transport/transport_op_string.c \
+src/core/census/context.c \
+src/core/census/initialize.c \
+include/grpc/support/alloc.h \
+include/grpc/support/atm.h \
+include/grpc/support/atm_gcc_atomic.h \
+include/grpc/support/atm_gcc_sync.h \
+include/grpc/support/atm_win32.h \
+include/grpc/support/cancellable_platform.h \
+include/grpc/support/cmdline.h \
+include/grpc/support/cpu.h \
+include/grpc/support/histogram.h \
+include/grpc/support/host_port.h \
+include/grpc/support/log.h \
+include/grpc/support/log_win32.h \
+include/grpc/support/port_platform.h \
+include/grpc/support/slice.h \
+include/grpc/support/slice_buffer.h \
+include/grpc/support/string_util.h \
+include/grpc/support/subprocess.h \
+include/grpc/support/sync.h \
+include/grpc/support/sync_generic.h \
+include/grpc/support/sync_posix.h \
+include/grpc/support/sync_win32.h \
+include/grpc/support/thd.h \
+include/grpc/support/time.h \
+include/grpc/support/tls.h \
+include/grpc/support/tls_gcc.h \
+include/grpc/support/tls_msvc.h \
+include/grpc/support/tls_pthread.h \
+include/grpc/support/useful.h \
+src/core/support/env.h \
+src/core/support/file.h \
+src/core/support/murmur_hash.h \
+src/core/support/string.h \
+src/core/support/string_win32.h \
+src/core/support/thd_internal.h \
+src/core/support/alloc.c \
+src/core/support/cancellable.c \
+src/core/support/cmdline.c \
+src/core/support/cpu_iphone.c \
+src/core/support/cpu_linux.c \
+src/core/support/cpu_posix.c \
+src/core/support/cpu_windows.c \
+src/core/support/env_linux.c \
+src/core/support/env_posix.c \
+src/core/support/env_win32.c \
+src/core/support/file.c \
+src/core/support/file_posix.c \
+src/core/support/file_win32.c \
+src/core/support/histogram.c \
+src/core/support/host_port.c \
+src/core/support/log.c \
+src/core/support/log_android.c \
+src/core/support/log_linux.c \
+src/core/support/log_posix.c \
+src/core/support/log_win32.c \
+src/core/support/murmur_hash.c \
+src/core/support/slice.c \
+src/core/support/slice_buffer.c \
+src/core/support/string.c \
+src/core/support/string_posix.c \
+src/core/support/string_win32.c \
+src/core/support/subprocess_posix.c \
+src/core/support/sync.c \
+src/core/support/sync_posix.c \
+src/core/support/sync_win32.c \
+src/core/support/thd.c \
+src/core/support/thd_posix.c \
+src/core/support/thd_win32.c \
+src/core/support/time.c \
+src/core/support/time_posix.c \
+src/core/support/time_win32.c \
+src/core/support/tls_pthread.c
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index ff985b3734..4092759b2d 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -199,7 +199,6 @@
},
{
"deps": [
- "grpc_test_util",
"gpr",
"grpc"
],
@@ -207,7 +206,7 @@
"language": "c",
"name": "gen_hpack_tables",
"src": [
- "src/core/transport/chttp2/gen_hpack_tables.c"
+ "tools/codegen/core/gen_hpack_tables.c"
]
},
{
diff --git a/vsprojects/Grpc.mak b/vsprojects/Grpc.mak
index 27f0b3aec3..b3be4fcf24 100644
--- a/vsprojects/Grpc.mak
+++ b/vsprojects/Grpc.mak
@@ -135,8 +135,8 @@ fling_server: fling_server.exe
$(OUT_DIR)\fling_server.exe
gen_hpack_tables.exe: build_libs $(OUT_DIR)
echo Building gen_hpack_tables
- $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\src\core\transport\chttp2\gen_hpack_tables.c
- $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gen_hpack_tables.exe" Debug\grpc_test_util.lib Debug\gpr.lib Debug\grpc.lib $(LIBS) $(OUT_DIR)\gen_hpack_tables.obj
+ $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\tools\codegen\core\gen_hpack_tables.c
+ $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gen_hpack_tables.exe" Debug\gpr.lib Debug\grpc.lib $(LIBS) $(OUT_DIR)\gen_hpack_tables.obj
gen_hpack_tables: gen_hpack_tables.exe
echo Running gen_hpack_tables
$(OUT_DIR)\gen_hpack_tables.exe