diff --git a/Makefile b/Makefile index 4f43625baad420ecbc35c7f99d07dd88a002d3af..073dd8013247f84eee05b29d99a6ca10d39a1b0c 100644 --- a/Makefile +++ b/Makefile @@ -3153,6 +3153,7 @@ endif LIBGRPC++_CODEGEN_LIB_SRC = \ + include/grpc++/impl/codegen/proto_serializer.cc \ PUBLIC_HEADERS_CXX += \ include/grpc++/impl/codegen/async_stream.h \ diff --git a/build.yaml b/build.yaml index 9c946a81aca6b1e3faf0a56551b4b06a61f82295..40fdc30febc3fcc0a46220077853b8e894fc14ff 100644 --- a/build.yaml +++ b/build.yaml @@ -748,7 +748,8 @@ libs: - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h headers: [] - src: [] + src: + - include/grpc++/impl/codegen/proto_serializer.cc deps: - grpc_codegen_lib filegroups: diff --git a/include/grpc++/impl/codegen/proto_serializer.cc b/include/grpc++/impl/codegen/proto_serializer.cc new file mode 100644 index 0000000000000000000000000000000000000000..456567e08007b55abb5d4b39b1d06d27c575cf6a --- /dev/null +++ b/include/grpc++/impl/codegen/proto_serializer.cc @@ -0,0 +1,41 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +// TODO(dgq): This file is part of a temporary fix to work around codegen +// issues. +// +// This whole file will be removed in the future. + +#include <grpc++/impl/codegen/proto_utils.h> + +grpc::ProtoSerializerInterface* grpc::g_proto_serializer = nullptr; diff --git a/src/cpp/proto/proto_serializer.cc b/src/cpp/proto/proto_serializer.cc index 3591417172569242f9dfeae2a8de68ec41fbedbc..d5ed1385610488a732d5c15021eb8a4de2fdaa38 100644 --- a/src/cpp/proto/proto_serializer.cc +++ b/src/cpp/proto/proto_serializer.cc @@ -36,7 +36,7 @@ // // This whole file will be removed in the future. -#include <grpc++/impl/proto_utils.h> +#include <grpc++/impl/codegen/proto_utils.h> static grpc::ProtoSerializer proto_serializer; grpc::ProtoSerializerInterface* grpc::g_proto_serializer = &proto_serializer; diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index fd4bbdb41b8feeda74c7c9808d1b0892d8ccf4dd..b464cae7e41be69987bbce91ef78775cd05c9032 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -5110,6 +5110,7 @@ "include/grpc++/impl/codegen/config_protobuf.h", "include/grpc++/impl/codegen/grpc_library.h", "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/proto_serializer.cc", "include/grpc++/impl/codegen/proto_utils.h", "include/grpc++/impl/codegen/rpc_method.h", "include/grpc++/impl/codegen/rpc_service_method.h", diff --git a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj b/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj index 811e0bdd18ab770422b3e9596f0a3dca8addda82..d64afde0ceb29a91c7daa71f9e11801ce1b98b88 100644 --- a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj +++ b/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj @@ -193,7 +193,7 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\vsprojects\dummy.c"> + <ClCompile Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_serializer.cc"> </ClCompile> </ItemGroup> <ItemGroup> diff --git a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters b/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters index 582d88b8cca4b72994bd4531223849b93da79d73..a3e3ac8c35cbcca00e38c7d6a92bedcf0c348a49 100644 --- a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters @@ -1,5 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_serializer.cc"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClCompile> + </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> <Filter>include\grpc++\impl\codegen</Filter>