Skip to content

Commit

Permalink
Merge 5215faa into d33eda8
Browse files Browse the repository at this point in the history
  • Loading branch information
Enjection authored Feb 12, 2024
2 parents d33eda8 + 5215faa commit cbfb82a
Show file tree
Hide file tree
Showing 214 changed files with 393 additions and 25 deletions.
1 change: 1 addition & 0 deletions build/ymake.core.conf
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,7 @@ module _BASE_UNIT: _BARE_UNIT {
}
when ($PROTOC_TRANSITIVE_HEADERS == "no") {
CPP_PROTO_PLUGINS=transitive_pb_h=false:${CPP_PROTO_PLUGINS}
CPP_PROTO_OUTS+=${output;main;hide;norel;nopath;noext:File.deps.pb.h}
}
}

Expand Down
3 changes: 3 additions & 0 deletions contrib/libs/grpc/src/compiler/cpp_generator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ TString GetHeaderPrologue(grpc_generator::File* file,
printer->Print(vars, "#pragma GCC system_header\n");
printer->Print(vars, "#endif\n");
printer->Print(vars, "\n");
printer->Print(vars, "#if __has_include(\"$filename_base$.deps$message_header_ext$\")\n");
printer->Print(vars, "#include \"$filename_base$.deps$message_header_ext$\"\n");
printer->Print(vars, "#endif\n");
printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n");
printer->Print(vars, file->additional_headers().c_str());
printer->Print(vars, "\n");
Expand Down
19 changes: 15 additions & 4 deletions contrib/libs/protoc/src/google/protobuf/compiler/cpp/cpp_file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,17 @@ void FileGenerator::GenerateProtoHeader(io::Printer* printer,
GenerateBottomHeaderGuard(printer, false);
}


void FileGenerator::GeneratePBDeps(io::Printer* printer,
const TProtoStringType& info_path) {
Formatter format(printer, variables_);
GenerateTopHeaderGuard(printer, true, true);

GenerateDependencyIncludes(printer);

GenerateBottomHeaderGuard(printer, true, true);
}

void FileGenerator::GeneratePBHeader(io::Printer* printer,
const TProtoStringType& info_path) {
Formatter format(printer, variables_);
Expand Down Expand Up @@ -1142,7 +1153,7 @@ void FileGenerator::GenerateForwardDeclarations(io::Printer* printer) {
format("PROTOBUF_NAMESPACE_CLOSE\n");
}

void FileGenerator::GenerateTopHeaderGuard(io::Printer* printer, bool pb_h) {
void FileGenerator::GenerateTopHeaderGuard(io::Printer* printer, bool pb_h, bool deps) {
Formatter format(printer, variables_);
// Generate top of header.
format(
Expand All @@ -1154,18 +1165,18 @@ void FileGenerator::GenerateTopHeaderGuard(io::Printer* printer, bool pb_h) {
"\n"
"#include <limits>\n"
"#include <string>\n",
IncludeGuard(file_, pb_h, options_));
IncludeGuard(file_, pb_h, deps, options_));
if (!options_.opensource_runtime && !enum_generators_.empty()) {
// Add header to provide std::is_integral for safe Enum_Name() function.
format("#include <type_traits>\n");
}
format("\n");
}

void FileGenerator::GenerateBottomHeaderGuard(io::Printer* printer, bool pb_h) {
void FileGenerator::GenerateBottomHeaderGuard(io::Printer* printer, bool pb_h, bool deps) {
Formatter format(printer, variables_);
format("#endif // $GOOGLE_PROTOBUF$_INCLUDED_$1$\n",
IncludeGuard(file_, pb_h, options_));
IncludeGuard(file_, pb_h, deps, options_));
}

void FileGenerator::GenerateLibraryIncludes(io::Printer* printer) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class FileGenerator {
// info_path, if non-empty, should be the path (relative to printer's
// output) to the metadata file describing this PB header.
void GeneratePBHeader(io::Printer* printer, const TProtoStringType& info_path);
void GeneratePBDeps(io::Printer* printer, const TProtoStringType& info_path);
void GenerateSource(io::Printer* printer);

// The following member functions are used when the lite_implicit_weak_fields
Expand Down Expand Up @@ -133,8 +134,8 @@ class FileGenerator {
void GenerateForwardDeclarations(io::Printer* printer);

// Generates top or bottom of a header file.
void GenerateTopHeaderGuard(io::Printer* printer, bool pb_h);
void GenerateBottomHeaderGuard(io::Printer* printer, bool pb_h);
void GenerateTopHeaderGuard(io::Printer* printer, bool pb_h, bool deps = false);
void GenerateBottomHeaderGuard(io::Printer* printer, bool pb_h, bool deps = false);

// Generates #include directives.
void GenerateLibraryIncludes(io::Printer* printer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,25 @@ bool CppGenerator::Generate(const FileDescriptor* file,
}
}

if (!file_options.transitive_pb_h) {
std::unique_ptr<io::ZeroCopyOutputStream> output(
generator_context->Open(basename + ".deps.pb.h"));
GeneratedCodeInfo annotations;
io::AnnotationProtoCollector<GeneratedCodeInfo> annotation_collector(
&annotations);
TProtoStringType info_path = basename + ".deps.pb.h.meta";
io::Printer printer(
output.get(), '$',
file_options.annotate_headers ? &annotation_collector : NULL);
file_generator.GeneratePBDeps(
&printer, file_options.annotate_headers ? info_path : "");
if (file_options.annotate_headers) {
std::unique_ptr<io::ZeroCopyOutputStream> info_output(
generator_context->Open(info_path));
annotations.SerializeToZeroCopyStream(info_output.get());
}
}

{
std::unique_ptr<io::ZeroCopyOutputStream> output(
generator_context->Open(basename + ".pb.h"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -477,12 +477,12 @@ bool IsAnyMessage(const Descriptor* descriptor, const Options& options);

bool IsWellKnownMessage(const FileDescriptor* descriptor);

inline TProtoStringType IncludeGuard(const FileDescriptor* file, bool pb_h,
inline TProtoStringType IncludeGuard(const FileDescriptor* file, bool pb_h, bool deps,
const Options& options) {
// If we are generating a .pb.h file and the proto_h option is enabled, then
// the .pb.h gets an extra suffix.
TProtoStringType filename_identifier = FilenameIdentifier(
file->name() + (pb_h && options.proto_h ? ".pb.h" : ""));
file->name() + (deps ? ".deps" : "") + (pb_h && options.proto_h ? ".pb.h" : ""));

if (IsWellKnownMessage(file)) {
// For well-known messages we need third_party/protobuf and net/proto2 to
Expand Down
1 change: 1 addition & 0 deletions ydb/core/audit/audit_log.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include <ydb/library/actors/core/events.h>
#include <library/cpp/logger/backend.h>
#include <ydb/core/protos/config.pb.h>
#include <ydb/library/services/services.pb.h>

#include <library/cpp/logger/record.h>
#include <ydb/library/actors/core/hfunc.h>
Expand Down
3 changes: 3 additions & 0 deletions ydb/core/base/appdata.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
#include <ydb/core/protos/key.pb.h>
#include <ydb/core/protos/pqconfig.pb.h>
#include <ydb/core/protos/stream.pb.h>
#include <ydb/core/protos/netclassifier.pb.h>
#include <ydb/core/protos/datashard_config.pb.h>
#include <ydb/core/protos/shared_cache.pb.h>
#include <ydb/library/pdisk_io/aio.h>

#include <ydb/library/actors/interconnect/poller_tcp.h>
Expand Down
5 changes: 5 additions & 0 deletions ydb/core/base/appdata.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,16 @@
#include <ydb/core/control/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/protos/auth.pb.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/cms.pb.h>
#include <ydb/core/protos/config.pb.h>
#include <ydb/core/protos/datashard_config.pb.h>
#include <ydb/core/protos/key.pb.h>
#include <ydb/core/protos/kqp.pb.h>
#include <ydb/core/protos/pqconfig.pb.h>
#include <ydb/core/protos/netclassifier.pb.h>
#include <ydb/core/protos/stream.pb.h>
#include <ydb/core/protos/shared_cache.pb.h>
#include <ydb/library/pdisk_io/aio.h>

#include <ydb/core/base/event_filter.h>
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/base/domain.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#include "tabletid.h"
#include "localdb.h"

#include <ydb/core/protos/blobstorage_config.pb.h>

#include <util/generic/map.h>
#include <util/generic/hash.h>
#include <util/generic/ptr.h>
Expand Down
3 changes: 2 additions & 1 deletion ydb/core/base/statestorage_impl.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once
#include "ydb/core/scheme/scheme_pathid.h"
#include <ydb/core/scheme/scheme_pathid.h>
#include <ydb/core/protos/base.pb.h>
#include "statestorage.h"

namespace NKikimr {
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/blob_depot/agent/agent_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#include "defs.h"
#include "resolved_value.h"

#include <ydb/core/protos/blob_depot_config.pb.h>

namespace NKikimr::NBlobDepot {

#define ENUMERATE_INCOMING_EVENTS(XX) \
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/blob_depot/blob_depot_tablet.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#include "types.h"
#include "schema.h"

#include <ydb/core/protos/blob_depot_config.pb.h>

namespace NKikimr::NTesting {

class TGroupOverseer;
Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/base/blobstorage_vdiskid.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "blobstorage_vdiskid.h"
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>

namespace NKikimr {

Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/groupinfo/blobstorage_groupinfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include <ydb/core/base/services/blobstorage_service_id.h>
#include <ydb/core/blobstorage/vdisk/ingress/blobstorage_ingress.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>

#include <ydb/library/actors/core/interconnect.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
#include <ydb/core/control/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/protos/config.pb.h>
#include <ydb/core/protos/netclassifier.pb.h>
#include <ydb/core/protos/shared_cache.pb.h>
#include <ydb/core/protos/datashard_config.pb.h>
#include <ydb/core/base/feature_flags.h>
#include <ydb/core/base/nameservice.h>
#include <ydb/core/base/channel_profiles.h>
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#include "defs.h"
#include "blobstorage_pdisk_defs.h"

#include <ydb/core/protos/blobstorage_disk_color.pb.h>

namespace NKikimr {
namespace NPDisk {

Expand Down
5 changes: 5 additions & 0 deletions ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
#include <ydb/core/blobstorage/base/vdisk_priorities.h>
#include <ydb/core/control/immediate_control_board_wrapper.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/blobstorage_config.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>
#include <ydb/core/protos/blobstorage_pdisk_config.pb.h>
#include <ydb/core/protos/blobstorage_disk_color.pb.h>
#include <ydb/core/protos/feature_flags.pb.h>
#include <ydb/core/protos/config.pb.h>

#include <ydb/library/pdisk_io/drivedata.h>
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/pdisk/blobstorage_pdisk_mon.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
#include <ydb/core/blobstorage/base/common_latency_hist_bounds.h>
#include <ydb/core/blobstorage/lwtrace_probes/blobstorage_probes.h>
#include <ydb/core/mon/mon.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>
#include <ydb/core/protos/node_whiteboard.pb.h>
#include <ydb/core/util/light.h>

#include <library/cpp/bucket_quoter/bucket_quoter.h>
#include <library/cpp/containers/stack_vector/stack_vec.h>
#include <library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h>


namespace NKikimr {

struct TPDiskConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include <ydb/core/protos/blobstorage_config.pb.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/blobstorage_disk_color.pb.h>

#include <ydb/core/blobstorage/pdisk/blobstorage_pdisk_defs.h>

Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/ut_blobstorage/blob_depot_test_env.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once

#include <ydb/core/base/logoblob.h>
#include <ydb/core/protos/blob_depot_config.pb.h>

#include <util/random/entropy.h>
#include <util/random/mersenne.h>
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/blobstorage/ut_testshard/env.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

#include "defs.h"

#include <ydb/core/protos/blob_depot_config.pb.h>

using namespace NActors;
using namespace NKikimr;

Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/ut_vdisk/lib/prepare.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "prepare.h"

#include <ydb/core/base/appdata.h>
#include <ydb/core/blobstorage/crypto/default.h>
#include <ydb/core/blobstorage/vdisk/common/vdisk_pdiskctx.h>
#include <ydb/core/blobstorage/vdisk/vdisk_services.h>
Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/vdisk/common/vdisk_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <ydb/core/base/event_filter.h>
#include <ydb/core/base/interconnect_channels.h>
#include <ydb/core/protos/blobstorage_config.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>

#include <ydb/core/util/pb.h>

Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/vdisk/query/query_spacetracker_ut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include <ydb/core/protos/base.pb.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>

#include <library/cpp/testing/unittest/registar.h>

Expand Down
1 change: 1 addition & 0 deletions ydb/core/client/query_stats_ut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <ydb/core/tx/datashard/datashard.h>
#include <ydb/core/tx/datashard/datashard_failpoints.h>
#include <ydb/core/engine/mkql_engine_flat.h>
#include <ydb/core/protos/query_stats.pb.h>

#include <library/cpp/testing/unittest/registar.h>
#include <google/protobuf/text_format.h>
Expand Down
1 change: 1 addition & 0 deletions ydb/core/client/server/msgbus_server.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <ydb/library/actors/core/actor_bootstrapped.h>
#include <ydb/public/lib/base/defs.h>
#include <ydb/public/lib/base/msgbus.h>
#include <ydb/core/protos/tx_proxy.pb.h>
#include "msgbus_http_server.h"
#include "msgbus_server_pq_metacache.h"

Expand Down
1 change: 1 addition & 0 deletions ydb/core/client/server/msgbus_server_request.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <ydb/core/base/ticket_parser.h>
#include <ydb/core/tx/datashard/datashard.h>
#include <ydb/core/tx/tx_processing.h>
#include <ydb/core/protos/query_stats.pb.h>

#include <ydb/library/yql/minikql/mkql_node_serialization.h>
#include <ydb/library/yql/public/issue/yql_issue_message.h>
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/client/server/msgbus_server_tablet_counters.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#include "msgbus_tabletreq.h"

#include <ydb/core/protos/tablet_counters.pb.h>

namespace NKikimr {
namespace NMsgBusProxy {

Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/cluster_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <ydb/core/protos/cms.pb.h>
#include <ydb/core/protos/config.pb.h>
#include <ydb/core/protos/console.pb.h>
#include <ydb/core/protos/blobstorage_config.pb.h>

#include <ydb/library/actors/core/actor.h>
#include <ydb/library/actors/interconnect/interconnect.h>
Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/console.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <ydb/core/base/domain.h>
#include <ydb/core/base/feature_flags.h>
#include <ydb/core/cms/console/validators/registry.h>
#include <ydb/core/protos/netclassifier.pb.h>

#include <ydb/library/actors/core/actor_bootstrapped.h>
#include <library/cpp/monlib/service/pages/templates.h>
Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/console.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

#include <ydb/core/base/blobstorage.h>
#include <ydb/core/protos/console.pb.h>
#include <ydb/core/protos/console_base.pb.h>
#include <ydb/core/protos/console_config.pb.h>
#include <ydb/core/protos/console_tenant.pb.h>
#include <ydb/public/api/protos/ydb_cms.pb.h>
Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/console__drop_yaml_config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "console_configs_provider.h"

#include <ydb/core/tablet_flat/tablet_flat_executed.h>
#include <ydb/library/yql/public/issue/protos/issue_severity.pb.h>

namespace NKikimr::NConsole {

Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/console__replace_yaml_config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "console_configs_provider.h"

#include <ydb/core/tablet_flat/tablet_flat_executed.h>
#include <ydb/library/yql/public/issue/protos/issue_severity.pb.h>

namespace NKikimr::NConsole {

Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/console_tenants_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <ydb/public/lib/operation_id/operation_id.h>

#include <ydb/library/yql/public/issue/protos/issue_severity.pb.h>
#include <ydb/core/protos/blobstorage_config.pb.h>

#include <ydb/library/actors/core/hfunc.h>

Expand Down
1 change: 1 addition & 0 deletions ydb/core/cms/console/net_classifier_updater.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include <ydb/core/base/appdata.h>
#include <ydb/core/base/tablet_pipe.h>
#include <ydb/core/protos/netclassifier.pb.h>

#include <ydb/library/actors/core/hfunc.h>
#include <ydb/library/actors/http/http_proxy.h>
Expand Down
Loading

0 comments on commit cbfb82a

Please sign in to comment.